想象一下,您有一个像这样的数组:
myArray[0] = 1,2,3
myArray[1] = 2,3,5
myArray[2] = 1,4,5
其中(1,2,3),(2,3,5),(1,4,5)是组合框值。
例如。当myArray [0]时:
<select name="somename" id="someid">
<option value="1">one</option>
<option value="2">two</option>
<option value="3">three</option>
</select>
例如。当myArray [1]时:
<select name="somename" id="someid">
<option value="2">two</option>
<option value="3">three</option>
<option value="5">five</option>
</select>
现在,关键点是将此
myArray[]
值之一分配给组合框?可能吗?干杯
最佳答案
没有jQuery,假设您已经具有“ Select”对象:
var s = document.getElementById('someid');
var words = ["one", "two", "three", "four", "five"];
for(var i = 0; i < myArray[0].length; i++){
var t = document.createElement("option")
t.value = myArray[0][i];
t.textContent = words[myArray[0][i]-1];
s.appendChild(t)
}
(Working Example)
否则,添加:
var s = document.createElement("select");
s.id = 'someid';
s.name = 'somename';
var words = ["one", "two", "three", "four", "five"];
for(var i = 0; i < myArray[0].length; i++){
var t = document.createElement("option")
t.value = myArray[0][i];
t.textContent = words[myArray[0][i]-1];
s.appendChild(t)
}
document.body.appendChild(s);
与
.textContent
相比,我更喜欢手动DOM操作(innerHTML
),因为innerHTML
会强制浏览器在每次使用时重新解析整个DOM,因为浏览器无法预测添加的HTML的结构。这使得DOM操作的呈现速度比使用innerHTML
时更快关于javascript - 如何使用JavaScript分配组合框值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13842777/