簡體   English   中英

使用JavaScript將選項列表添加到HTML5 select標簽

[英]Adding list of options to HTML5 select tag using JavaScript

我有下面的HTML代碼,並且需要通過從服務器返回的大量元素來動態更新“ option”元素

<select id='select'>
     <option value = '0' selected></option>
</select>

所以,我寫了下面的JS代碼:

var select = e.querySelector('#select');

for(var k=0; k<5;k++){
    var opt = document.createElement('option');
    opt.value=data[k].value;
    opt.text=data[k].text;
    select.add(opt);
}

我不需要使用JQuery或任何其他插件。

有沒有更簡潔和/或更簡單的方法來做到這一點?

您可以使用Option構造函數:

var select = e.querySelector('#select');
for(var k=0; k<5;k++){
    select.options.add(new Option(data[k].text, data[k].value));
}

現場示例:

 var data = [ {text: "Option 1", value: "1"}, {text: "Option 2", value: "2"}, {text: "Option 3", value: "3"}, {text: "Option 4", value: "4"}, {text: "Option 5", value: "5"} ]; var select = document.querySelector('#select'); for(var k=0; k<5;k++){ select.options.add(new Option(data[k].text, data[k].value)); } 
 <select id="select" size="10"></select> 

假設data是一個數組,您還可以使用Array#forEach

var select = e.querySelector('#select');
data.forEach(function(entry) {
    select.options.add(new Option(entry.text, entry.value));
});

現場示例:

 var data = [ {text: "Option 1", value: "1"}, {text: "Option 2", value: "2"}, {text: "Option 3", value: "3"}, {text: "Option 4", value: "4"}, {text: "Option 5", value: "5"} ]; var select = document.querySelector('#select'); data.forEach(function(entry) { select.options.add(new Option(entry.text, entry.value)); }); 
 <select id="select" size="10"></select> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM