Javascript清除选择框的内容

时间:2012-11-26 15:43:08

标签: javascript

作为我的填充选择框功能的一部分,我清除填充的选择框的内容,然后将选项插入空框。虽然未正确清除选择框,但未删除许多选项。我使用以下代码清除选择框的内容:

for(var i = 0; i < document.getElementById(selectbox).options.length; i++)
    document.getElementById(selectbox).options[i] = null;

为什么不从选择框中删除所有选项?

4 个答案:

答案 0 :(得分:11)

你可以简单地做

 document.getElementById(selectbox).options.length = 0;

您也可以逐个删除这些元素,几乎和您一样,但是您必须考虑到迭代时options的长度发生变化的事实。迭代时删除的正确方法是

for (var i=document.getElementById(selectbox).options.length; i-->0;)
    document.getElementById(selectbox).options[i] = null;

但第一种解决方案当然更简单。

答案 1 :(得分:1)

作为清除选择列表的所有选项的替代和更简洁的方法,我们可以利用JavaScript的零假值,然后只需从Dom中删除该选项:

function clearSelectList(list) {
    // when length is 0, the evaluation will return false.
    while (list.options.length) {
        // continue to remove the first option until no options remain.
        list.remove(0);
    }
}

然后用法:

var list = document.getElementById("selectbox");
clearSelectList(list);

或者更简洁:

clearSelectList(document.getElementById("selectbox"));

答案 2 :(得分:0)

var selectbox = document.getElementById(selectbox);

document.getElementById("emptyBox").innerHTML = selectbox.innerHTML;
selectbox.innerHTML = "";

答案 3 :(得分:0)

此示例具有新一代JavaScript。我建议使用。

tac Input_file | awk '($1=="id" && $2=="NRM_V"){print $5;exit}'