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

当前回答

window.onload = function ()
{   
    var select = document.getElementById('selectBox');
    var delButton = document.getElementById('delete');

    function remove()
    {
        value = select.selectedIndex;
        select.removeChild(select[value]);
    }

    delButton.onclick = remove;    
}

要添加项目,我将创建第二个选择框,并:

var select2 = document.getElementById('selectBox2');
var addSelect = document.getElementById('addSelect');

function add()
{
    value1 = select2.selectedIndex;
    select.appendChild(select2[value1]);    
}

addSelect.onclick = add;

但不是jQuery。

其他回答

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

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

如果有人需要删除一个选择内的所有选项,我做了一个小功能。

我希望它对你有用

var removeAllOptionsSelect = function(element_class_or_id){
    var element = $(element_class_or_id+" option");
    $.each(element,function(i,v){
        value = v.value;
        $(element_class_or_id+" option[value="+value+"]").remove(); 
    })
}

只需要奔跑

removeAllOptionsSelect("#contenedor_modelos");

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

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

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

删除一个选项:

$ (" # 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 < /选项> 选择< - >

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

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

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

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