我從API獲取一個巨大的瘋狂JSON,並且我正在努力將它放入選擇框中。到目前爲止,我有這樣的代碼:使用.each填充選擇元素
$('#gaua').live('change', function() {
var dropDownValue = $(this).val();
$("#gaCell").html("<select>");
$.each(gaAccount, function(k, v) {
$.each(v, function(k1, v1) {
console.log("k1 "+k1+" "+dropDownValue);
if(k1 == dropDownValue) {
console.log("k1 is equal to dropDownValue");
$.each(v1, function(k2, v2) {
console.log("v1 "+v1+" k2 "+k2+" v2 "+v2);
$("#gaCell").append("<option value='"+v2+"'>"+k2+"</option>");
});
}
});
});
$("#gaCell").append("</select>");
console.log($("#gaCell").html());
});
當我看到我看到這個控制檯:
<select></select><option value="4434">Option 1</option><option value="43333380">Option 2</option><option value="3233223">Option 3</option> ...
爲什麼<select></select>
最初被追加?是否應設置開始標記,然後添加選項值,最後是關閉的選擇標記?
該代碼看起來很糟糕,但我需要得到這個工作之前,我清理它正常。任何建議真的會有所幫助,謝謝!
你爲什麼要爲改變事件直播?改變事件不會在IE中冒泡... –
感謝您的評論。我使用的是直播,因爲此下拉菜單是在頁面加載並且用戶執行操作後添加的。我想我會在DOM加載後添加某些東西時出於習慣。沒有必要嗎? –
問題是,生活取決於事件冒泡和改變不在IE中泡。在IE中試用它,我認爲它不起作用。 –