使用jQuery向下拉列表中添加选项的最简单方法是什么?

这行吗?

$("#mySelect").append('<option value=1>My option</option>');

当前回答

当您附加选项并使用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

其他回答

这很好。

如果添加多个选项元素,我建议执行一次追加,而不是对每个元素执行追加。

如果有人来这里寻找添加数据财产选项的方法

使用属性

var option = $('<option>', { value: 'the_value', text: 'some text' }).attr('family', model.family);

使用数据-版本1.2.3

var option = $('<option>', { value: 'the_value', text: 'some text' }).data('misc', 'misc-value);

根据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)中使用!

我就是这样做的,用一个按钮添加每个选择标记。

$(document).on("click","#button",function() {
   $('#id_table_AddTransactions').append('<option></option>')
}

如果选项名称或值是动态的,则不必担心其中的特殊字符会被转义;在这种情况下,您可能更喜欢简单的DOM方法:

var s= document.getElementById('mySelect');
s.options[s.options.length]= new Option('My option', '1');