我需要在组合框中添加特定次数的项目。这是我的代码。
for(i=0;i<3;i++)
{
othercompaniesli.innerHTML= '<select onchange="document.location.href = this.options[this.selectedIndex].value;"><option VALUE="http://www.google.com">'+fStr1[0]+'</option> </select>';
}
这里我想添加fStr1字符串3次。但它只添加一次。这就是for循环正常工作但只有项目值没有附加。只有最后一个值被添加到组合框中。任何人都可以帮我如何将项目添加到组合框中。
答案 0 :(得分:1)
var tmpStr = '<select onchange="document.location.href = this.options[this.selectedIndex].value;">';
for(i=0;i<3;i++)
{
tmpStr+= '<option VALUE="http://www.google.com">'+fStr1[0]+'</option> ';
}
tmpStr = '</select>';
othercompaniesli.innerHTML = tmpStr;
答案 1 :(得分:0)
尝试othercompaniesli.innerHTML +=
。
答案 2 :(得分:0)
由于您使用的等于=
,因此它会重新分配给相同的元素
使用append()
$('#othercompaniesli').append('<select onchange="document.location.href = this.options[this.selectedIndex].value;"><option VALUE="http://www.google.com">'+fStr1[0]+'</option> </select>');
请注意,您的select
和option
元素正在重复,您需要相应地进行更改。
答案 3 :(得分:0)
var select= $('mySelect');
var opt = new Option("OptionTitle", "123");
select.selectedIndex = InsertNewOption(opt, select[0]);
function InsertNewOption(opt, element)
{
var len = element.options.length;
element.options[optsLen] = opt;
return len;
}
答案 4 :(得分:0)
将选择标记置于循环之外
var selectTag = '<select onchange="document.location.href = this.options[this.selectedIndex].value;">';
for(i=0;i<3;i++) {
selectTag += '<option VALUE="http://www.google.com">'+fStr1[0]+'</option>';
}
selectTag +="</select>"
othercompaniesli.innerHTML = selectTag;
答案 5 :(得分:0)
你正在做的是你在结束你的选择标签的循环内部,所以每个元素都有自己的选择开始和结束标签。而你只是用更新的元素更新你的innerHTML,这就是它获取最后一个元素的原因。
var openingTag= '<select onchange="document.location.href = this.options[this.selectedIndex].value;">';
for(i=0;i<3;i++)
{
openingTag+= '<option VALUE="http://www.google.com">'+fStr1[0]+'</option> ';
}
openingTag= '</select>';
othercompaniesli.innerHTML = openingTag;