使用jQuery向下拉列表中添加选项的最简单方法是什么?
这行吗?
$("#mySelect").append('<option value=1>My option</option>');
使用jQuery向下拉列表中添加选项的最简单方法是什么?
这行吗?
$("#mySelect").append('<option value=1>My option</option>');
当前回答
如果您在select中有optgroup,则在DOM中出现错误。
我认为最好的方法是:
$("#select option:last").after($('<option value="1">my option</option>'));
其他回答
如果您在select中有optgroup,则在DOM中出现错误。
我认为最好的方法是:
$("#select option:last").after($('<option value="1">my option</option>'));
就我个人而言,我更喜欢用这种语法附加选项:
$('#mySelect').append($('<option>', {
value: 1,
text: 'My option'
}));
如果要从项目集合中添加选项,可以执行以下操作:
$.each(items, function (i, item) {
$('#mySelect').append($('<option>', {
value: item.value,
text : item.text
}));
});
$(function () {
var option = $("<option></option>");
option.text("Display text");
option.val("1");
$("#Select1").append(option);
});
如果您从某个对象获取数据,那么只需将该对象转发到函数。。。
$(function (product) {
var option = $("<option></option>");
option.text(product.Name);
option.val(product.Id);
$("#Select1").append(option);
});
名称和Id是对象财产的名称。。。所以你可以随便叫他们。。。当然,如果您有Array。。。你想用for循环构建自定义函数。。。然后调用文档就绪中的函数。。。干杯
这很好。
如果添加多个选项元素,我建议执行一次追加,而不是对每个元素执行追加。
var select = $('#myselect');
var newOptions = {
'red' : 'Red',
'blue' : 'Blue',
'green' : 'Green',
'yellow' : 'Yellow'
};
$('option', select).remove();
$.each(newOptions, function(text, key) {
var option = new Option(key, text);
select.append($(option));
});