我剛想出了一個奇怪的故障。在我看來,這是一個錯誤。我想聽聽你的想法。動態添加的選項消失,如果多次添加
不久,我將在這裏描述的問題:
可以說,我需要3個選擇使用相同的選項,我在HTML創建他們是這樣的:
<select id="x1" class="A"></select>
<select id="x2" class="A"></select>
<select id="y1" class="B"></select>
然後我想填充他們與選擇使用jQuery。我不喜歡這樣:
var options = [];
for(var i=0; i<5; i++){
options.push($("<option value='" + i + "'>" + i + "</option>"));
}
$(".A").append(options);
$(".B").append(options);
有2個元素A
類並用B
類在本例中1個元素。調用$(".A").append(options)
後,它按預期完成所有工作 - 它將這些選項添加到類A
中進行選擇。但是,在調用$(".B").append(options)
之後,它將這些選項添加到類B
的元素,但類的最後一個元素的選項消失了!這似乎很奇怪!
的影響是一樣的,如果我加入他們這樣的:
for(var i=0; i<5; i++){
var option = $("<option value='" + i + "'>" + i + "</option>");
$(".A").append(option);
$(".B").append(option);
}
我結束了使用$(".A, .B").append(options)
添加到所有選擇的選項,但是這並看起來不正確。
你的想法是什麼?
是啊,我想過克隆它們。有點棘手的事實是,這些選項是在一個通用的JS數組中,我將不得不再次循環它們以創建克隆。 – Wish
你是對的 - 我錯過了你正在創建一個jQuery對象數組。你可以修改這個來建立一個單一的字符串,這樣既可以完全避免這個問題,而且可以更快。查看我的更新。 –