什麼錯了?控制檯說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]);
你也可以使用jQuery的.each
:
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 2015-03-25 12:38:28
可能是因爲'var Input = $('#Formular:input');'在這個$沒有定義 – 2015-03-25 12:39:37
'Input [i]'是沒有'val'的DOM對象所以,你可能必須做'輸入[I]。價值= 「東西」' – lshettyl 2015-03-25 12:43:40