Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
删除空值的javascript函数_Javascript - Fatal编程技术网

删除空值的javascript函数

删除空值的javascript函数,javascript,Javascript,我试图删除listbox中的空值,所以首先我尝试使用循环,然后有人帮助我这样做,但它并没有删除空值和空空间…有人能帮我吗 通过javascript帮助解决此问题 <script type="text/javascript"> function change() { //document.getElementById("Geography").options[7]=new Option("", "newval", true, false); var options

我试图删除listbox中的空值,所以首先我尝试使用循环,然后有人帮助我这样做,但它并没有删除空值和空空间…有人能帮我吗 通过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>

函数更改()
{
//document.getElementById(“Geography”).options[7]=新选项(“,”newval“,true,false);
var optionsArr=[];
选项arr.push(document.getElementById(“地理”).options);
选项arr.push(document.getElementById(“区域”).options);
选项arr.push(document.getElementById(“国家”).options);
var optArrlenght=选项阵列长度;
对于(var j=0;j
这不是删除dom元素的正确方法:应在父元素上调用。而不是
options.removeChild(选项[i]),请尝试:

options[i].parentElement.removeChild(options[i]);
此外,如果要从数组中删除元素,请调用以下命令:

options.splice(i, 1);

您只需进行以下更改:

一,


嗨,不管你是否找到了解决办法,我还是把答案放在这里


这将有助于检查..所以你提到value=1,所以它被删除了,但我不知道当时哪里有空值存在列表框,如何删除空值和空格….sry。它在你的情况下显示的结果很好,但我也这样做了,没有结果你需要在相应的浏览器上启用javascript。
<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>
     if (options[i].value == "Null Value" ) 
     { options.removeChild(options[i]);}   

     if(options[i].innerHTML == "") 
    {     options.removeChild(options[i])} 
function change()
{
  $('select').each(function() {
    $(this).find('option:contains("Null Value")').remove();

});

}