正如问题所说,我如何使用jQuery添加一个新的选项到下拉列表?
谢谢
正如问题所说,我如何使用jQuery添加一个新的选项到下拉列表?
谢谢
当前回答
请注意@Phrogz的解决方案不能在ie8中运行,而@nickf的解决方案可以在所有主流浏览器中运行。另一种方法是:
$.each(myOptions, function(val, text) {
$("#mySelect").append($("<option/>").attr("value", val).text(text));
});
其他回答
另外,使用.prepend()将选项添加到选项列表的开头。 http://api.jquery.com/prepend/
在没有插件的情况下,这可以更容易,而不需要使用太多的jQuery,而是稍微老派一些:
var myOptions = {
val1 : 'text1',
val2 : 'text2'
};
$.each(myOptions, function(val, text) {
$('#mySelect').append( new Option(text,val) );
});
如果你想指定选项a)是否是默认选择值,b)现在应该被选择,你可以传递另外两个参数:
var defaultSelected = false;
var nowSelected = true;
$('#mySelect').append( new Option(text,val,defaultSelected,nowSelected) );
你可以直接使用
美元(Html ddlClassName”)。(“<选项selected =价值=“selected \ \ " \ " > 1 < /选项> <选项价值= \ " \ " > 2 < /选项>”)
这里你可以使用直接字符串
你可能想先清除你的下拉菜单 $ (' # DropDownQuality ')空虚();
我让我的控制器在MVC中返回一个只有一个项目的选择列表。
$('#DropDownQuality').append(
$('<option></option>').val(data[0].Value).html(data[0].Text));
假设你的回答是“成功数据”。这包含一个列表,您需要在下拉菜单中添加选项。
success: function (successData) {
var sizeOfData = successData.length;
if (sizeOfData == 0) {
// NO DATA, throw an alert ...
alert ("No Data Found");
} else {
$.each(successData, function(val, text) {
mySelect.append(
$('<option></option>').val(val).html(text)
);
});
} }
这将为您工作....