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

当前回答

以下链接将是有帮助的-

http://api.jquery.com/remove/

http://api.jquery.com/append/

其他回答

也许其他人需要一种基本的方法来清除选择:

document.getElementById(SELECT_ID).innerHTML = "";

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

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

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

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。

我发现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(/./);。

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

//从select中动态删除值

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

//添加动态值

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