javascript函数删除空值

时间:2013-11-13 05:46:31

标签: javascript

我正在尝试删除列表框中的空值,所以首先我尝试使用循环,然后一个人帮助这样做,但它没有删除空值和空格...可以一些身体 通过javascript帮助解决这个问题..

  <script type="text/javascript">
function change()
{
    //document.getElementById("Geography").options[7]=new Option("", "newval", true, false);

    var optionsArr = [];
    optionsArr.push(document.getElementById("Geography").options);
    optionsArr.push(document.getElementById("zone").options);
    optionsArr.push(document.getElementById("country").options);

    var optArrlenght = optionsArr.length;
    for ( var j = 0; j < optArrlenght; j++){
        var options = optionsArr[j];
        var optionslength = options.length
        for (var i = 0; i < optionslength; i++)
        {
            if (options[i].innerHTML == "Null Value" || options[i].innerHTML == "")
            {
                options.removeChild(options[i]);
                // OR
                // options.options[i] = null;
            }       

        }

    }

}

</script>
</head>
<body onload="change()">
Geography:<select id="Geography">

    <option value="0"></option>

    <option value="1">Null Value</option>

    <option value="2">item 2</option>

    <option value="3">item 3</option>

    <option value="4">item 4</option>

    <option value="0">All</option>

</select>
 zone:   <select id="zone" >

    <option value="0"></option>

    <option value="1">Null Value</option>

    <option value="2">item 2</option>

    <option value="3">item 3</option>

    <option value="4">item 4</option>

    <option value="0">All</option>

</select>

country:<select id="country" >

    <option value="0"></option>

    <option value="1">Null Value</option>


    <option value="2">item 2</option>

    <option value="3">item 3</option>

    <option value="4">item 4</option>

    <option value="0">All</option>

</select>
</body>

3 个答案:

答案 0 :(得分:0)

这不是删除dom元素的正确方法:应在父元素上调用.removeChild()。而不是options.removeChild(options[i]);,请尝试:

options[i].parentElement.removeChild(options[i]);

此外,如果要从数组options中删除元素,请调用以下命令:

options.splice(i, 1);

答案 1 :(得分:0)

您只需进行以下更改:

1

<option value="0"></option>

<option value="Null Value">Null Value</option>

<option value="item 2">item 2</option>

<option value="item 3">item 3</option>

<option value="item 4">item 4</option>

<option value="All">All</option>

2.Inside Loop in function change您需要执行以下操作

     if (options[i].value == "Null Value" ) 
     { options.removeChild(options[i]);}   

     if(options[i].innerHTML == "") 
    {     options.removeChild(options[i])} 

答案 2 :(得分:0)

嗨,不管你是否找到了解决方案,我仍然把答案放在这里..

http://jsbin.com/awUWAMeN/2/edit

function change()
{
  $('select').each(function() {
    $(this).find('option:contains("Null Value")').remove();

});

}