2016-07-15 69 views
0

我想顯示/隱藏多選列表中的某些元素;我的代碼在Chrome中工作正常,但我無法弄清楚它爲什麼不能在IE中工作。這裏只是我的代碼的簡化版本:隱藏選項不起作用IE

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 

<select id="ID_DropDown" multiple="multiple" name="DropDown"> 
<option value="1">value1</option> 
<option value="2">value2</option> 
<option value="3">value3</option> 
</select> 

<script type="text/javascript"> 
$(document).ready(function() { 
    for (var i = 0; i < ID_DropDown.options.length; i++) { 
     $("#ID_DropDown option[value=" + ID_DropDown.options[i].value + "]").hide(); 
    } 
}); 
</script> 

任何想法? 真的感謝

+0

你能禁用它,而不是隱藏它的? – Barmar

+0

它不會在IE以及其他瀏覽器中工作。選擇是禁用或刪除。 – charlietfl

+0

@Barmar是的,我可以禁用或隱藏 – Andrea

回答

0

IE不支持的jQuery的hide()函數,但你可以使用

希望這將幫助你隱藏的元素。

$(document).ready(function() { 
 
    for (var i = 0; i < ID_DropDown.options.length; i++) { 
 
     $("#ID_DropDown option[value=" + ID_DropDown.options[i].value + "]").css({"visibility":"hidden"}); 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<select id="ID_DropDown" multiple="multiple" name="DropDown"> 
 
<option value="1">value1</option> 
 
<option value="2">value2</option> 
 
<option value="3">value3</option> 
 
</select>

Plunker:http://plnkr.co/edit/OpZrpgAYaqfyGdcBeakc?p=preview

+0

這種方法會留下空白的空白來代替隱藏的選項。如果你只是隱藏了一些選項,它看起來很醜。例如:http://plnkr.co/edit/7tWNr02Uclr2WyWWEMju – Mir