我正在动态制作select tag
,我想制作third option selected
var dropDownList = $('<select />', {
'id': 'my id', // some id i want to apply
'class': 'my class', //some class i want to aply
});
for (iLoop = 0; iLoop < myarray.length ; ++iLoop) {
if(iLoop ==2){
$('<option />', {
'value': myarray[iLoop ].value,
'text': myarray[iLoop ].text,
'selected': ?? // true/false
}).appendTo(dropDownList);
}
else{
$('<option />', {
'value': myarray[iLoop ].value,
'text': myarray[iLoop ].text,
}).appendTo(dropDownList);
}
}
旁边我不想这样做
var selectElement='<select>
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="opel" selected>Opel</option>
<option value="audi">Audi</option>
</select>';
答案 0 :(得分:2)
使用属性selected
,如此
for (iLoop = 0; iLoop < myarray.length ; ++iLoop) {
$('<option />', {
'value': myarray[iLoop ].value,
'text': myarray[iLoop ].text,
'selected': (iLoop == 2 ? true : false)
}).appendTo(dropDownList);
}
答案 1 :(得分:0)
for (iLoop = 0; iLoop < myarray.length ; ++iLoop)
如果您正在编写for循环,请不要计算循环内的数组长度。最好使用如下
var myarrayLength = myarray.length;
for (iLoop = 0; iLoop < myarrayLength ; ++iLoop)
不要比较如下。如果数组大小为n,则此比较将发生n次
'selected': (iLoop == 2 ? true : false)
使用in for循环代替for循环更好。
for (iLoop in myarray) {
$('<option />', { 'value': myarray[iLoop ].value,
'text': myarray[iLoop ].text,
}).appendTo(dropDownList);
}
$("#time_entry_activity_id option:eq(3)").attr('selected', 'selected');