помогите добавить в массив еще элементы

danneo

Честный
Регистрация
13 Ноя 2007
Сообщения
1.526
Реакции
121
Есть форма, в ней списки и поля ввода (input).
По событию "изменения, клавиши" собирается массив всех выбранных значений и отправляется на сервер.
Массив такой:
[name_element] = ['selectedt_val_1' , 'selectedt_val_1'] и т.д.

Но есть поля для интервала, например, цена: от и до. Название полей price[from], price[to].
Нужно получить название фильтра, в данном случае price и в элемент массива добавить значение, например:
arr_filter[price][from] = 15
arr_filter[price][to] = 300

Никак не могу сообразить, как добавить многомерные элементы для таких полей. Туплю уже 2 часа.
Пробовал так: arr_filter[ name_filter ]['to'] = val_filter; Дак затирается значение from. И в массив с одним значение получается.
 
Код:
var object = {};
object.name_filter = {};

object.name_filter.from = 1;
object.name_filter.to = 3;

console.log(object);

или

Код:
var object = {};
object.name_filter = {"from":1,"to":3}

console.log(object);

Массивы используют где ключи числовые, показывающие номер элемента. А тут у Вас свои ключи, значит надо объект

Для просмотра ссылки Войди или Зарегистрируйся
 
Последнее редактирование:
Код:
var object = {};
object.name_filter = {};

object.name_filter.from = 1;
object.name_filter.to = 3;

console.log(object);

или

Код:
var object = {};
object.name_filter = {"from":1,"to":3}

console.log(object);

Массивы используют где ключи числовые, показывающие номер элемента. А тут у Вас свои ключи, значит надо объект

Для просмотра ссылки Войди или Зарегистрируйся
Решено, почти. Получается собрать поля так:
Код:
Решилось так:
[CODE]if( arr_fields[name_filter] == undefined ){
                arr_fields[name_filter] = {};
            }
Не мог понять, как указать свойство через точку, не в скобках. Там написано, что название свойство, которое хранится в переменной, обычно указывается в скобках. А как необычно?
 
Назад
Сверху