用于删除空值的 JavaScript 函数

javascript function to remove null value

本文关键字:JavaScript 函数 空值 删除 用于      更新时间:2023-09-26

>我试图删除列表框中的空值,所以首先我尝试使用循环,然后一个人帮助这样做,但它没有删除空值和空白空间......可以一些身体通过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>
嗨,

无论您是否找到了解决方案,我仍然把答案放在这里。.

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

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

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

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

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

options.splice(i, 1);

您只需要进行以下更改:

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.内部循环在功能更改中您需要执行以下操作

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