我想在html選擇附加多個選項。立即在html中選擇多個選項
目前我在循環中使用下面的代碼,但它使工作變慢,因爲它必須每次都添加新選項。
代碼段:
s.options[s.options.length]= new Option(url, '1');
所以我想,如果我可以通過一個類似上面一次添加所有的選項,而不是一個,也許它可以快一點做出來。
請建議一個更快的功能,然後這一個。感謝
我想在html選擇附加多個選項。立即在html中選擇多個選項
目前我在循環中使用下面的代碼,但它使工作變慢,因爲它必須每次都添加新選項。
代碼段:
s.options[s.options.length]= new Option(url, '1');
所以我想,如果我可以通過一個類似上面一次添加所有的選項,而不是一個,也許它可以快一點做出來。
請建議一個更快的功能,然後這一個。感謝
嘗試這種情況:
var tmpOptions = [];
for(var i=0; i<optionsLength; i++) {
tmpOptions[i] = new Option(url, i);
}
s.options = tmpOptions;
它沒有在選項中顯示任何東西... plz檢查jsfiddle – saadsaf
嘗試此,
s.options [s.options.length] =函數選項(URL, '1'){ //語句去這裏 };
您或許可以用DocumentFragment
做到這一點,但我不確定瀏覽器支持。它當然適用於所有瀏覽器(包括IE 10)的當前版本,但我懷疑它在舊版IE中有效。
var frag = document.createDocumentFragment();
for (var i = 0; i < 10; ++i) {
var option = document.createElement("option");
option.value = "" + i;
option.text = "Option " + i;
frag.appendChild(option);
}
s.appendChild(frag);
試試這個
var dataArr = [{'value':'val1','text':'text1'},
{'value':'val2','text':'text2'},
{'value':'val3','text':'text3'},
{'value':'val4','text':'text4'},
{'value':'val5','text':'text5'},
{'value':'val6','text':'text6'},
{'value':'val7','text':'text7'}];
// Removes all options for the select box
$('#optExample option').remove();
// .each loops through the array
$.each(dataArr, function(i){
$('#optExample').append($("<option></option>")
.attr("value",dataArr[i]['value'])
.text(dataArr[i]['text']));
});
http://www.creativecg.com/addremove-options-from-a-select-box-with-jquery/ –