Массив не принимает значение переменной как ключ
Есть инпуты
<input class='in' type='text' data-id='1' value='text 1'> <input class='in' type='text' data-id='2' value='text 2'> <input class='in' type='text' data-id='3' value='text 3'> <input class='in' type='text' data-id='4' value='text 4'>Пробегаемс я по ним с помощью each
var answer = [];
$('.in').each(function(){
var cur_el = $(this);
var id = cur_el.attr('data-id');
id = parseInt( id );
var input = cur_el.val();
console.log(question_id);
answer = {id : input};
//answer.question_id = input;
});
console.log(answer);
Нужно записать в массив data-id как ключ и value как значение, но почему-то переменная id при записи в массив принимается как строка. Подскажите почему такое поведение и как исправить? |
wet,
11 строка убивает массив |
Цитата:
answer.push({id : input});
Но все равно переменная id воспринимается как строка((answer[id] = input; А вот так вообще выкидывает undefined: [undefined, "text 1", "text 2", "text 3", "text 4"] |
wet,
может вы хотели так
var answer = {};
$('.in').each(function(){
var cur_el = $(this);
var id = cur_el.attr('data-id');
id = parseInt( id );
var input = cur_el.val();
answer[id] = input;
});
или так
var answer = [];
$('.in').each(function(){
var cur_el = $(this);
var id = cur_el.attr('data-id');
id = parseInt( id );
var input = cur_el.val();
answer.push({id : input}) ;
});
|
Цитата:
|
Цитата:
|
| Часовой пояс GMT +3, время: 03:07. |