想象一下,您有一个像这样的数组:

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/

10-14 08:57