如何从选择框中删除项目或向其中添加项目?我正在运行jQuery,这应该使任务更容易。下面是一个示例选择框。

<select name="selectBox" id="selectBox">
    <option value="option1">option1</option>
    <option value="option2">option2</option>
    <option value="option3">option3</option>
    <option value="option4">option4</option>    
</select>

当前回答

我发现jQuery的选择框操作插件对于这类事情很有用。

您可以轻松地按索引、值或正则表达式删除项。

removeOption(index/value/regex/array[, selectedOnly])

Remove an option by
- index: $("#myselect2").removeOption(0);
- value: $("#myselect").removeOption("Value");
- regular expression: $("#myselect").removeOption(/^val/i);
- array $("#myselect").removeOption(["myselect_1", "myselect_2"]);

要删除所有选项,可以执行$("#myselect"). removeoption(/./);。

其他回答

我只是想建议另一种增加选择的方法。 除了将值和文本设置为字符串外,还可以这样做:

var option = $('<option/>')
                  .val('option5')
                  .text('option5');

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

在动态添加选项的值和文本时,这是一个较不容易出错的解决方案。

我发现有两页看起来很有用,它是为ASP编写的。Net,但同样的东西应该适用:

如何使用jQuery从下拉列表中添加/删除项目 jQuery选择器表达式

动态添加/删除值,无需硬代码:

//从select中动态删除值

$("#id-select option[value='" + dynamicVal + "']").remove();

//添加动态值

$("#id-select").append('<option value="' + dynamicVal + '">' + dynamicVal + '</option>');

你可以这样删除选定的项目:

$("#selectBox option:selected").remove();

如果你有一个列表而不是下拉列表,这是很有用的。

移除一个项目

$("select#mySelect option[value='option1']").remove(); 

添加项目

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

检查一个选项

$('#yourSelect option[value=yourValue]').length > 0;

删除选定的选项

$('#mySelect :selected').remove();