[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: вопрос по массивам
maximka787
мужики, подскажите, чтот запутался. Как мне вывести "количество товара" по двум ключам. т.е нужен массив многомерный и в нем ошибка. Т.е сейчас выводит без проблем значение двух селектов и не пойму как приклеить к значениям количество.

$(function(){
$("#start").click(function(){

var mass = Array();
var mass["100"]["11111"] = "1"; //комбинация 100 и 11111 количество 1
var mass["100"]["22222"] = "2"; //комбинация 100 и 22222 количество 2
var mass["101"]["11111"] = "1"; //комбинация 101 и 11111 количество 1

var color = $("#color").val();
var size = $("#size").val();

alert(color + " - " + size);
});
});


<select id="color">
<option
value="100">Красный</option>
<option
value="101">Синий</option>
</select>

<select
id="size">
<option
value="11111">1размер</option>
<option
value="22222">2размер</option>
</select>

<input
type="button" id="start" value="start" />




Спустя 11 минут, 17 секунд (16.02.2012 - 14:32) nugle написал(а):
maximka787
Чет не понятна задача.
Если ты выберешь в первом селекте, а во втором тоже одно, то и результат будет один

Спустя 10 минут (16.02.2012 - 14:42) maximka787 написал(а):
nugle
наверно объяснил не так)
Есть массив ЗНАЧЕНИЕ1 + ЗНАЧЕНИЕ2 = КОЛИЧЕСТВО.

ЗНАЧЕНИЕ1 И ЗНАЧЕНИЕ2 это селекты.
КОЛИЧЕСТВО это третья ячейка. т.е я не знаю как даже логически сделать. Это как вывод числа по двум ключам.

Спустя 1 минута, 28 секунд (16.02.2012 - 14:44) maximka787 написал(а):
Фактически, думаю, я не могу создать многомерный массив из 3х колонок. чтобы по двум выбирать третью.

Спустя 26 минут, 9 секунд (16.02.2012 - 15:10) nugle написал(а):
Если правильно тебя понял, то так
var mass = Array();
var mass["100"]["11111"] = 0;
var mass["100"]["22222"] = 0;
var mass["101"]["11111"] = 0;
var color = '';
var size = '';

$("#start").click(function(){

color = $("#color").val();
size = $("#size").val();

mass[color][size] += 1;

});

Спустя 9 минут, 19 секунд (16.02.2012 - 15:19) maximka787 написал(а):
nugle
ну почти. я в принципе сам разберусь, помогите только. не могу массив наполнить.
var mass = Array();
var mass{
'10': {'color':100,'size':11111,'cnt':1},
'11': {'color':100,'size':22222,'cnt':2},
'12': {'color':101,'size':11111,'cnt':1}
}
в этом коде ошибка

В этом представлении мне легче, но тоже не работает
var mass = Array();
var mass[10]["color"] = "100";
var mass[10]["size"] = "11111";
var mass[10]["cnt"] = "1";

Спустя 4 минуты, 25 секунд (16.02.2012 - 15:24) nugle написал(а):
Попробуй так и если будет ошибка, то какая
var mass = Array();
mass[10]["color"] = "100";
mass[10]["size"] = "11111";
mass[10]["cnt"] = "1";

Спустя 7 минут, 24 секунды (16.02.2012 - 15:31) maximka787 написал(а):
nugle
да ошибок нет, только jquery не видит
var mass = Array();
mass[10]["color"] = "100";
mass[10]["size"] = "11111";
mass[10]["cnt"] = "1";

$.each(mass, function(i, val) {
alert(val);
});

Спустя 4 минуты, 2 секунды (16.02.2012 - 15:35) nugle написал(а):
maximka787
потому что массив многомерный, надо так делать
$.each(mass[10], function(i, val) {
alert(val);
});

Спустя 2 минуты, 9 секунд (16.02.2012 - 15:37) maximka787 написал(а):
nugle
спасибо большое, все понял

Спустя 9 минут, 11 секунд (16.02.2012 - 15:47) nugle написал(а):
maximka787
да не за что) обращайся если что)

Спустя 22 минуты, 41 секунда (16.02.2012 - 16:09) maximka787 написал(а):
ой, чего т я от темы отошел совсем. научился с массивом работать, но с ключом не решил вопрос :) Я сократил код, и все равно не пойму. Смысл то какой, вводим два числа. нажимаем "найти комбинацию" и должно вылетать число после =
$("#start").click(function(){
mass[1][2] = "100"; //это простая комбинация двух цифр 1 и 2
mass[1][3] = "150";
mass[2][2] = "60";

var color = $("#color").val();
var size = $("#size").val();
alert(mass[color][size].value);
});

<input type="text" id="color" value="" />
<input
type="text" id="size" value="" />
<input
type="button" id="start" value="найти комбинацию" />

Спустя 3 минуты, 51 секунда (16.02.2012 - 16:13) nugle написал(а):
maximka787
value не нужно

Спустя 5 минут, 57 секунд (16.02.2012 - 16:19) maximka787 написал(а):
nugle
да, ток ничео не показывает. тут видимо mass[1][2] = "1"; я не до конца усвоил, ошибка.

var mass = new Array();

mass[1][2] = "1";
mass[1][3] = "2";
mass[2][2] = "3";

var color = $("#color").val();
var size = $("#size").val();

alert(mass[color][size]);

Спустя 3 минуты, 55 секунд (16.02.2012 - 16:23) nugle написал(а):
maximka787
выведи color и size, посмотри правильно ли они задаются

Спустя 2 минуты, 6 секунд (16.02.2012 - 16:25) maximka787 написал(а):
nugle
да 100% когда за комментирую
mass[1][2] = "1";
то выводится верно. проблема в инициализации думаю.

Спустя 14 минут, 45 секунд (16.02.2012 - 16:40) nugle написал(а):
maximka787
а какая ошибка вообще вылазиет?

Спустя 2 минуты, 5 секунд (16.02.2012 - 16:42) maximka787 написал(а):
никакой) у меня никогда не появлялись ошибки в JS.
жалею, что не вижу smile.gif скрипт просто не выполняется. может быть нельзя два ключа в массив?

Спустя 1 минута, 5 секунд (16.02.2012 - 16:43) nugle написал(а):
maximka787
в фаербаг смотришь?

Спустя 1 минута, 13 секунд (16.02.2012 - 16:44) maximka787 написал(а):
nugle
да, но тут гляжу в книгу. вижу....)))

Спустя 3 минуты, 11 секунд (16.02.2012 - 16:47) nugle написал(а):
maximka787
скинь куски кода, чтобы я у себя запустил

Спустя 1 минута, 43 секунды (16.02.2012 - 16:49) maximka787 написал(а):
nugle
Вот весь код
<script type="text/javascript">

$(function(){

$("#start").click(function(){

var mass = new Array();
mass[1][2] = "1";
mass[1][3] = "2";
mass[2][2] = "3";

var color = $("#color").val();
var size = $("#size").val();

var total = mass[color][size];
alert(total);

});
});
</
script>


<input type="text" id="color" value="" />
<input
type="text" id="size" value="" />
<input
type="button" id="start" value="найти комбинацию" />


Кстати лиса нашла ошибку mass[1] undefined

Спустя 17 минут, 6 секунд (16.02.2012 - 17:06) nugle написал(а):
так делай
$("#start").click(function(){

var mass = {
1 : { 2: '1'}
}
;

var color = $("#color").val();
var size = $("#size").val();

var total = mass[color][size];
alert(total);

});
});

Спустя 3 минуты, 51 секунда (16.02.2012 - 17:10) maximka787 написал(а):
nugle
спасибо тебе большое. Выручил, все работает!

Спустя 1 минута, 7 секунд (16.02.2012 - 17:11) nugle написал(а):
maximka787
не за что)


_____________
..Работает - не трогай!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.