Скрыть параметры из окна множественного выбора
Мне нужно скрыть определенные параметры из поля множественного выбора, используя Javascript. Я не могу получить для JQuery, и мне не разрешено.
У меня есть еще один выпадающий список, я вызываю функцию js, которая будет вызываться при изменении значения. Функция js будет управлять параметрами другого окна с несколькими вариантами выбора, где мне нужно скрывать (не удалять) параметры на основе значения выпадающего списка.
Любая простая функция JS?
Редактировать: пытался
fastInternet.options[i].style.display = 'none';
fastInternet.options[i].style.visibility = 'hidden';
Не работал:(
3 ответа
Я попытался использовать вашу ссылку jsFiddle, но некоторые вещи там не позволили методу работать правильно.
Я сделал несколько модификаций, и он работает отлично:
HTML:
<select id="option_two" multiple>
<option value="VOIP">VOIP</option>
<option value="BDS">BDS</option>
<option value="DMW">DMW</option>
<option value="IDTV">IDTV</option>
<option value="P3TR">P3TR</option>
</select>
Javascript:
var fastInternet = document.getElementById('option_two');
for ( var i = 0; i < fastInternet.options.length; i++) {
var value = fastInternet.options[i].value;
if(value == 'IDTV' || value == 'P3TR'){
fastInternet.options[i].style.visibility = 'hidden';
}
}
В JsFiddle убедитесь, что для фреймворка заданы onLoad и No-Library(чистый JS). В chrome это сработало. Но у меня есть некоторые проблемы в IE, хотя:/
Редакция:
Новое предложение:
Как насчет сделать это disable
fastInternet.options[i].setAttribute("disabled", "disabled")
А затем скрыть это с помощью следующего CSS:
select option[disabled] {
display: none; /* worked in firefox*/
visibility: hidden; /* worked in chrome*/
}
Это может помочь!
СТАРОЕ Предложение:
Попробуй использовать
fastInternet.remove(options[i])
Добавление display:none
работал на меня. Но я сделал это через CSS.
Построить пример. Проверьте это здесь
Не установлен Chrome для тестирования. Но я думаю visibility:hidden
должно сработать.