问题描述
无需使用任何额外的插件,
var myOptions = {
val1 : 'text1',
val2 : 'text2'
};
var mySelect = $('#mySelect');
$.each(myOptions, function(val, text) {
mySelect.append(
$('<option></option>').val(val).html(text)
);
});
如果您有很多选项,或者此代码需要非常频繁地运行,那么您应该考虑使用DocumentFragment而不是多次不必要地修改 DOM。对于少数几个选项,我会说这不值得。
- - - - - - - - - - - - - - - - 添加 - - - - - - - - - --------------
DocumentFragment
是提高速度的好选择,但我们不能使用创建选项元素,document.createElement('option')
因为
IE6 和 IE7 不支持它。
我们可以做的是,创建一个新的选择元素,然后附加所有选项。循环完成后,将其附加到实际的 DOM 对象。
var myOptions = {
val1 : 'text1',
val2 : 'text2'
};
var _select = $('<select>');
$.each(myOptions, function(val, text) {
_select.append(
$('<option></option>').val(val).html(text)
);
});
$('#mySelect').append(_select.html());
这样我们只修改一次 DOM!
解决方法
正如问题所说,如何使用 jQuery 向 DropDownList 添加新选项?
谢谢