使用jQuery向下拉列表中添加选项的最简单方法是什么?
这行吗?
$("#mySelect").append('<option value=1>My option</option>');
使用jQuery向下拉列表中添加选项的最简单方法是什么?
这行吗?
$("#mySelect").append('<option value=1>My option</option>');
当前回答
根据dule对附加一系列项目的回答。。。也会创造奇迹:
let cities={'ny':'纽约','d':'伦敦','b':'迪拜','pk':'北京','k':'东京','nd':'新德里'};for(让c在城市中){$(“#selectCity”).append($(“<option>”,{value:c,text:city[c]})}<script src=“https://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js“></script><select id=“selectCity”></select>
对象值和索引都指定给选项。这个解决方案甚至可以在旧的jQuery(v1.4)中使用!
其他回答
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));
});
可以使用文本附加和设置“值”属性:
$("#id").append($('<option></option>').attr("value", '').text(''));
$("#id").append($('<option></option>').attr("value", '4').text('Financial Institutions'));
就我个人而言,我更喜欢用这种语法附加选项:
$('#mySelect').append($('<option>', {
value: 1,
text: 'My option'
}));
如果要从项目集合中添加选项,可以执行以下操作:
$.each(items, function (i, item) {
$('#mySelect').append($('<option>', {
value: item.value,
text : item.text
}));
});
这在IE8中不起作用(但在FF中起作用):
$("#selectList").append(new Option("option text", "value"));
这确实有效:
var o = new Option("option text", "value");
/// jquerify the DOM object 'o' so we can use the html method
$(o).html("option text");
$("#selectList").append(o);
当您附加选项并使用jqueryvalidate时,我们发现了一些问题。您必须在选择多个列表中单击一个项目。您将添加此代码以处理:
$("#phonelist").append("<option value='"+ 'yournewvalue' +"' >"+ 'yournewvalue' +"</option>");
$("#phonelist option:selected").removeAttr("selected"); // add to remove lase selected
$('#phonelist option[value=' + 'yournewvalue' + ']').attr('selected', true); //add new selected