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

这行吗?

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

当前回答

您可以将选项动态添加到下拉列表中,如下图所示。在此示例中,我获取了数组数据,并将这些数组值绑定到下拉列表中,如输出截图所示

输出:

var resultData=[“孟买”,“德里”,“钦奈”,“果阿”]$(文档).ready(函数){var myselect=$('<select>');$.each(resultData,函数(索引,键){myselect.append($('<option></option>').val(key).html(key));});$(“#selectCity”).append(myselect.html());});<script src=“https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.2.1.min.js"></script><select id=“selectCity”></选择>

其他回答

您可以尝试以下代码附加到选项

  <select id="mySelect"></select>

    <script>
          $("#mySelect").append($("<option></option>").val("1").html("My enter code hereoption"));
    </script>

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

这个怎么样

var numbers = [1, 2, 3, 4, 5];
var option = '';

for (var i=0;i<numbers.length;i++){
     option += '<option value="'+ numbers[i] + '">' + numbers[i] + '</option>';
    }

    $('#items').append(option);

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

var s= document.getElementById('mySelect');
s.options[s.options.length]= new Option('My option', '1');
$(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循环构建自定义函数。。。然后调用文档就绪中的函数。。。干杯