2016-07-15 3 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, но вы можете скрыть элементы с помощью

Надеется, что это поможет вам.

$(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

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