要使用.each()
遍歷數組或對象,需要爲函數輸入使用不同的簽名。所以使用function(bu, key)
是不對的*。
function(index, value) <<< Array
function(key, value) <<< Object
下面是以您的標記爲例的兩個示例。注意我在UL
上添加了一點寬度,所以我可以顯示索引和值。
var ok = [1,2,3];
$('.list li').remove();
$.each(ok, function(index, value){
$('<li>"key.name_units ('+index+', '+value+')" '+
'<input type="text" name="out[]">'+
'<input type="text" name="out[]">'+
'</li>').appendTo('.list');
});
ok = {
four: '4',
five: '5',
six: '6'
};
$.each(ok, function(key, value){
$('<li>"key.name_units ('+key+', '+value+')" '+
'<input type="text" name="out[]">'+
'<input type="text" name="out[]">'+
'</li>').appendTo('.list');
});
將輸出:
<li>"key.name_units (0, 1)" <input name="out[]" type="text"><input name="out[]" type="text"></li>
<li>"key.name_units (1, 2)" <input name="out[]" type="text"><input name="out[]" type="text"></li>
<li>"key.name_units (2, 3)" <input name="out[]" type="text"><input name="out[]" type="text"></li>
<li>"key.name_units (four, 4)" <input name="out[]" type="text"><input name="out[]" type="text"></li>
<li>"key.name_units (five, 5)" <input name="out[]" type="text"><input name="out[]" type="text"></li>
<li>"key.name_units (six, 6)" <input name="out[]" type="text"><input name="out[]" type="text"></li>
http://jsfiddle.net/userdude/SXXee/1/
*至少,我不認爲它是。
你需要更好地解釋你正在嘗試做什麼 – bcoughlan
我不認爲賽琳娜英語說得很好,所以試着看例子小提琴。 –
相關問題(以某種方式,我認爲):http://stackoverflow.com/questions/7291898/problem-in-use-of-each –