Что не так? Консоль говорит, что undefined не является функцией.Мой простой jquery не работает
var Input = $('#Formular :input');
for(i =0; i<Input.length; i++){
Input[i].val(Daten[x-1][i]);
}
Что не так? Консоль говорит, что undefined не является функцией.Мой простой jquery не работает
var Input = $('#Formular :input');
for(i =0; i<Input.length; i++){
Input[i].val(Daten[x-1][i]);
}
.val()
функция JQuery, но вы используете его на элемент DOM.
Вы видите, что при выполнении Input[i]
вы получаете элемент HTML, а не объект jQuery, содержащий этот элемент.
Вы либо использовать ваниль JS способ изменить значение:
Input[i].value = Daten[x-1][i];
Или использовать .eq
, чтобы получить элемент в объекте JQuery:
Input.eq(i).val(Daten[x-1][i]);
Вы также мог бы использовать .each
из JQuery:
var Input = $('#Formular :input').each(function(i){
this.value = Daten[x-1][i];
});
Ввод уже назначается в переменную ввода , а в цикле for вы не можете получить доступ к функции .val(), используя эту переменную. Вместо этого вам необходимо присвоить значение, используя:
Input[i].value =Daten[x-1][i];
Итак, расширяя то, что я сказал в своих комментариях, вы могли бы сделать следующее.
//jQuery
var Inputs = $('#Formular :input');
Inputs.each(function(i){
$(this).val("someval-" + i);
//$(this).val(Daten[x-1][i]);
});
//Javascript (+ a bit of jQuery, the way you did)
var Inputs = $('#Formular :input');
for(i =0; i<Inputs.length; i++){
Inputs[i].value = "some--val-" + i;
}
Что линия не указывает в качестве источника ошибки? Возможно, вы забыли включить jQuery, а $ не определено. – doldt
Вероятно, потому что 'var Input = $ ('# Formular: input');' В этом $ не определено –
'Input [i]' - это объект 'DOM', который не имеет' val' So, вам, возможно, придется сделать 'Input [я] .value = "что-то"' – lshettyl