Скрыть параметры из окна множественного выбора

Мне нужно скрыть определенные параметры из поля множественного выбора, используя Javascript. Я не могу получить для JQuery, и мне не разрешено.

У меня есть еще один выпадающий список, я вызываю функцию js, которая будет вызываться при изменении значения. Функция js будет управлять параметрами другого окна с несколькими вариантами выбора, где мне нужно скрывать (не удалять) параметры на основе значения выпадающего списка.

Любая простая функция JS?

http://jsfiddle.net/zz3dg/

Редактировать: пытался

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 должно сработать.

Другие вопросы по тегам