Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在html中附加多个选项,同时选择_Javascript_Jquery_Html - Fatal编程技术网

Javascript 在html中附加多个选项,同时选择

Javascript 在html中附加多个选项,同时选择,javascript,jquery,html,Javascript,Jquery,Html,我想在html选择中附加多个选项 目前我在循环中使用下面的代码,但它会使工作变慢,因为每次都要添加新选项 代码片段: s.options[s.options.length]= new Option(url, '1'); 所以我想,如果我可以一次添加所有选项,而不是像上面那样一个接一个地添加,也许它可以让它更快一点 请推荐一个比这个更快的函数。谢谢试试这个: var tmpOptions = []; for(var i=0; i<optionsLength; i++) { tmpO

我想在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;
var tmpOptions=[];
对于(var i=0;i试试这个

s、 options[s.options.length]=函数选项(url,'1'){ //这里有陈述 })


你也许可以用
文档片段来实现这一点,但我不确定是否支持浏览器。它在所有浏览器的当前版本(包括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 frag=document.createDocumentFragment();
对于(变量i=0;i<10;++i){
var option=document.createElement(“选项”);
option.value=”“+i;
option.text=“option”+i;
附件(可选);
}
s、 儿童(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']));
});
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'}];
//删除“选择”框的所有选项
$('#optExample option')。删除();
//。每个循环都通过阵列
$。每个(数据阵列,函数(i){
$('#optExample')。追加($(“”)
.attr(“值”,dataArr[i]['value'])
.text(dataArr[i]['text']);
});

它没有在选项中显示任何内容…请检查JSFIDLE