2013-11-13 4 views
0

Я пытаюсь удалить нулевое значение в списке, поэтому сначала я попытался с циклом, а затем один парень помог сделать это, но не удалил нулевое значение и пустое пространство ... может ли какой-то кузов help из этой проблемы с помощью JavaScript ..Функция javascript для удаления значения null

<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> 
+0

это поможет проверить ..http: //jsbin.com/awUWAMeN/1/edit – codebreaker

+0

, так что у вас упоминается значение = 1, поэтому он удаляется, но я dono, где есть нулевое значение, представляющее список на момент удаления нулевого значения и пространства .... – user2009765

ответ

0

Привет ли у выяснили решение или нет до сих пор я положил мой ответ здесь ..

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

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

}); 

} 
+0

sry .its показанный результат в ур случай отлично, но я так же сделал то же самое не результат – user2009765

+0

просто добавьте jquery library will do .. – codebreaker

+0

Привет, добавлена ​​библиотека jquery в файл html..check и ответ .. – codebreaker

0

Это не правильный способ, чтобы удалить элемент DOM: .removeChild() должен быть вызван на родительских элементов. Вместо options.removeChild(options[i]);, попробуйте:

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

Кроме того, если вы хотите, чтобы удалить элемент из массива options вызова следующее:

options.splice(i, 1); 
+0

- это возможность обновить мой код. Полезно учиться у ... u ... – user2009765

+0

Нет, сном для меня – megawac

+0

k thx..for предложения .. – user2009765

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 в изменении функции вам нужно сделать следующее

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

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

Я попробовал ур предложение .. ничего не происходит ... – user2009765

+0

Не могли бы вы рассказать мне, какой браузер вы используете, в моем случае его работа .. –

+0

firefox, chrome .. – user2009765

Смежные вопросы