在html中一次追加多个选项选择
Append multiple options in html select at once
我想在html select中附加多个选项。
目前我在循环中使用下面的代码,但这会使工作变得缓慢,因为每次都必须添加新的选项。
代码段:
s.options[s.options.length]= new Option(url, '1');
所以我想,如果我能一次添加所有选项,而不是像上面那样一个接一个地添加,也许它会更快。
请建议一个比这个更快的函数。感谢
试试这个,
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);
演示:http://jsfiddle.net/QsNpe/
试试这个:
var tmpOptions = [];
for(var i=0; i<optionsLength; i++) {
tmpOptions[i] = new Option(url, i);
}
s.options = tmpOptions;
尝试这个
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']));
});
相关文章:
- JQuery将文本追加到当前选项卡
- 追加时保留第一个选项
- 选择不追加在动态添加的行上的元素选项
- 选项追加不添加值以选择下拉列表
- 使用 jQuery,查找所有选择并将索引值追加为选项
- 将选项对象的数组追加到多个选择
- Jquery 追加选项以选择和获取所选值
- 在html中一次追加多个选项选择
- IE选择不追加选项
- jQuery只追加不为null的选项
- 当选项包含空格时,在select下拉列表中动态追加值会在下拉列表中追加空字段
- 将选项追加到多个选择框中
- 基于另一个下拉选择如何追加新的选项,以引导多选下拉
- 获取选项值并作为附加关键字追加到搜索中
- 如何动态加载选项值在选择追加网格jquery插件
- 如果有人在jquery或js中选择了一个特定的选项值,如何触发追加元素
- 使用$(下拉)的空白选项文本.在ie9中追加(new Option("Joe Blow", 1, t
- 如何追加到 select2 中的现有下拉选项之一
- jQuery追加选择选项-选择不工作
- IE9状态/存储选择选项将不会追加