使用jQuery向下拉列表中添加选项的最简单方法是什么?
这行吗?
$("#mySelect").append('<option value=1>My option</option>');
使用jQuery向下拉列表中添加选项的最简单方法是什么?
这行吗?
$("#mySelect").append('<option value=1>My option</option>');
当前回答
这只是最佳性能的快速要点
总是当你处理很多选项时,建立一个大字符串,然后将其添加到“select”中以获得最佳性能
f.g.
var$mySelect=$('#mySelect');var str=“”;
$.each(items, function (i, item) {
// IMPORTANT: no selectors inside the loop (for the best performance)
str += "<option value='" + item.value + "'> " + item.text + "</option>";
});
// you built a big string
$mySelect.html(str); // <-- here you add the big string with a lot of options into the selector.
$mySelect.multiSelect('refresh');
甚至更快
var str = "";
for(var i; i = 0; i < arr.length; i++){
str += "<option value='" + item[i].value + "'> " + item[i].text + "</option>";
}
$mySelect.html(str);
$mySelect.multiSelect('refresh');
其他回答
这很好。
如果添加多个选项元素,我建议执行一次追加,而不是对每个元素执行追加。
答案中没有提及,但很有用。如果您希望也选择该选项,您可以添加:
var o = new Option("option text", "value");
o.selected=true;
$("#mySelect").append(o);
仅通过单线
$.each(result, function (k,v) {
**if(k == selectedMonthNumber) var selectedMonth = 'selected'; else var selectedMonth = '';**
$("#periodMonth").append($('<option>', {
value: k,
text: v,
**selected: selectedMonth**
}));
})
这个怎么样
var numbers = [1, 2, 3, 4, 5];
var option = '';
for (var i=0;i<numbers.length;i++){
option += '<option value="'+ numbers[i] + '">' + numbers[i] + '</option>';
}
$('#items').append(option);
我就是这样做的,用一个按钮添加每个选择标记。
$(document).on("click","#button",function() {
$('#id_table_AddTransactions').append('<option></option>')
}