使用 jQuery 向 <select> 添加选项?

IT技术 javascript jquery html-select
2021-02-01 20:05:24

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

这会奏效吗?

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

就个人而言,我更喜欢这种附加选项的语法:

$('#mySelect').append($('<option>', {
    value: 1,
    text: 'My option'
}));

如果您要从项目集合中添加选项,您可以执行以下操作:

$.each(items, function (i, item) {
    $('#mySelect').append($('<option>', { 
        value: item.value,
        text : item.text 
    }));
});
与仅构建 html 字符串并附加它相比,如果您添加很多选项,这将非常慢
2021-03-18 20:05:24

这在 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);

您可以使用以下语法添加选项,您也可以访问jQuery 中的方式处理选项以获取更多详细信息。

  1. $('#select').append($('<option>', {value:1, text:'One'}));

  2. $('#select').append('<option value="1">One</option>');

  3. var option = new Option(text, value); $('#select').append($(option));

第二个在选项标签中有一个不正确的属性(value而不是val)。正确的代码应该是$('select').append('<option value="1">One</option>');
2021-03-12 20:05:24

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

var s= document.getElementById('mySelect');
s.options[s.options.length]= new Option('My option', '1');
对我来说看起来没那么简单!!
2021-03-17 20:05:24
这在 javascript 术语中很简单,jquery 使人们的事情变得太容易了
2021-03-26 20:05:24
document.getElementById('mySelect').add(new Option('My option','1')); // 如果 IE8 或更好
2021-04-05 20:05:24

选项1-

你可以试试这个——

$('#selectID').append($('<option>',
 {
    value: value_variable,
    text : text_variable
}));

像这样-

for (i = 0; i < 10; i++)
{ 
     $('#mySelect').append($('<option>',
     {
        value: i,
        text : "Option "+i 
    }));
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

<select id='mySelect'></select>

选项 2-

或者试试这个——

$('#selectID').append( '<option value="'+value_variable+'">'+text_variable+'</option>' );

像这样-

for (i = 0; i < 10; i++)
{ 
     $('#mySelect').append( '<option value="'+i+'">'+'Option '+i+'</option>' );
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

<select id='mySelect'></select>