什么错了?控制台说undefined不是一个函数。
var Input = $('#Formular :input');
for(i =0; i<Input.length; i++){
Input[i].val(Daten[x-1][i]);
}
答案 0 :(得分:2)
.val()
是一个jQuery函数,但是你在DOM元素上使用它。
您可以看到,在执行Input[i]
时,您将获得HTML元素,而不是包含该元素的jQuery对象。
您可以使用vanilla JS方式更改值:
Input[i].value = Daten[x-1][i];
或者使用.eq
来获取jQuery对象中的元素:
Input.eq(i).val(Daten[x-1][i]);
你也可以使用jQuery的.each
:
var Input = $('#Formular :input').each(function(i){
this.value = Daten[x-1][i];
});
答案 1 :(得分:0)
输入已分配到Input变量,而在for循环中,您无法使用这些变量访问.val()函数。相反,您需要使用以下方式分配值:
Input[i].value =Daten[x-1][i];
答案 2 :(得分:0)
所以,扩展我在评论中所说的内容,你可以做到以下几点。
//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;
}