如何从选择框中删除项目或向其中添加项目?我正在运行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>

当前回答

$(" #选择框选择”(value = ' option1 ']) .remove (); $(" #选择框”)。追加(“<选项值= " option1 " >选项> < /选项”); 当你想从选择框中完全删除和添加选项时,你可以使用这段代码 <select name="selectBox" id="selectBox"> <选项值= " option1 " > option1 > < /选项 <选项值= " option2 " > option2 > < /选项 <选项值= " option3 " > option3 > < /选项 <选项值= " option4 " > option4 > < /选项 < /选择>

$(" #选择框选择”(value = ' option1 ']) hide (); $(" #选择框选择”(value = ' option1 ']),告诉(); 有时我们需要隐藏和显示选项从选择框,但不删除,然后你可以使用这段代码 <select name="selectBox" id="selectBox"> <选项值= " option1 " > option1 > < /选项 <选项值= " option2 " > option2 > < /选项 <选项值= " option3 " > option3 > < /选项 <选项值= " option4 " > option4 > < /选项 < /选择>

$(' #选择框:选择').remove (); $(" #选择框选择:选择”).remove (); 有时需要从选择框中删除选中的选项 <select name="selectBox" id="selectBox"> <选项值= " option1 " > option1 > < /选项 <选项值= " option2 " > option2 > < /选项 <选项值= " option3 " > option3 > < /选项 <选项值= " option4 " > option4 > < /选项 < /选择>

(“#选择框”)空虚(); 当你需要删除所有选项,然后这段代码 <select name="selectBox" id="selectBox"> <选项值= " option1 " > option1 > < /选项 <选项值= " option2 " > option2 > < /选项 <选项值= " option3 " > option3 > < /选项 <选项值= " option4 " > option4 > < /选项 < /选择>

$(' #选择框');(选项:首先).remove (); $(' #选择框');(选项:去年).remove (); 当需要第一个选项或最后然后这段代码 <select name="selectBox" id="selectBox"> <选项值= " option1 " > option1 > < /选项 <选项值= " option2 " > option2 > < /选项 <选项值= " option3 " > option3 > < /选项 <选项值= " option4 " > option4 > < /选项 < /选择>

其他回答

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

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

删除一个选项:

$ (" # selectBox选项[value = option1’]”)。移除(); <剧本剧本src = " https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js " > < / > <选择=“selectBox”id=“selectBox”> <选项价值= >“option1 option1 < /选项> <选项价值= >“option2 option2 < /选项> <选项价值= >“option3 option3 < /选项> <选项价值= >“option4 option4 < /选项> 选择< - >

添加一个选项:

$ (" # selectBox”)。append(<选项价值=“option5 " > option5 < /选项>); <剧本剧本src = " https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js " > < / > <选择=“selectBox”id=“selectBox”> <选项价值= >“option1 option1 < /选项> <选项价值= >“option2 option2 < /选项> <选项价值= >“option3 option3 < /选项> <选项价值= >“option4 option4 < /选项> 选择< - >

JavaScript

function removeOptionsByValue(selectBox, value) { for (var i = selectBox.length - 1; i >= 0; --i) { if (selectBox[i].value == value) { selectBox.remove(i); } } } function addOption(selectBox, text, value, selected) { selectBox.add(new Option(text, value || '', false, selected || false)); } var selectBox = document.getElementById('selectBox'); removeOptionsByValue(selectBox, 'option3'); addOption(selectBox, 'option5', 'option5', true); <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

jQuery(function($) { $.fn.extend({ remove_options: function(value) { return this.each(function() { $('> option', this) .filter(function() { return this.value == value; }) .remove(); }); }, add_option: function(text, value, selected) { return this.each(function() { $(this).append(new Option(text, value || '', false, selected || false)); }); } }); }); jQuery(function($) { $('#selectBox') .remove_options('option3') .add_option('option5', 'option5', true); }); <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <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>

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

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

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

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

我必须从一个选择中删除第一个选项,没有ID,只有一个类,所以我成功地使用了这段代码:

$('select.validation').find('option:first').remove();