2010-12-31 2 views
2

Есть ли какие-нибудь примеры, которые позволят мне удалить параметры из выпадающего списка с помощью JavaScript?Как удалить параметры из раскрывающегося списка в javascript?

Вот код:

<select autocomplete="off" id="sSec1" tabindex="0" name="sSec1" class="isSelected styled security selectOriginal"> 
     <option id="" value="">Select</option> 
     <option id="o1" value="What is the name of your first pet?">What is the name of your first pet?</option> 
     <option id="o2" value="What is your favorite food?">What is your favorite food?</option> 
     <option id="o3" value="What is your favorite holiday?">What is your favorite holiday?</option> 
     <option id="o4" value="What is your favorite movie?">What is your favorite movie?</option> 
     <option id="o5" value="What is your favorite sport?">What is your favorite sport?</option> 
     <option id="o6" value="In what city were you born?">In what city were you born?</option> 
     <option id="o7" value="What is your mother's maiden name?">What is your mother's maiden name?</option> 
    </select> 

Вот список 2:

<select autocomplete="off" id="sSec2" tabindex="0" name="sSec2" class="isSelected security styled">  
     <option id="" value="">Select Second Question</option> 
     <option id="o1s2" value="What is the name of your first pet?">What is the name of your first pet?</option> 
     <option id="o2s2" value="What is your favorite food?">What is your favorite food?</option> 
     <option id="o3s2" value="What is your favorite holiday?">What is your favorite holiday?</option> 
     <option id="o4s2" value="What is your favorite movie?">What is your favorite movie?</option> 
     <option id="o5s2" value="What is your favorite sport?">What is your favorite sport?</option> 
     <option id="o6s2" value="In what city were you born?">In what city were you born?</option> 
     <option id="o7s2" value="What is your mother's maiden name?">What is your mother's maiden name?</option> 
    </select> 

Теперь то, что я хочу, чтобы это произошло как при выборе любой опции для номера вопроса безопасности 1. Этот вариант не должен быть там для секретного вопроса номер 2.

ответ

6

Вы можете удалить опцию, установив ее нулевым.

document.getElementById("sSec1").options[0] = null; 

EDIT:

Вот рабочий пример: http://jsfiddle.net/c5wFn/

document.getElementById("sSec1").addEventListener("change", 
    function(select) 
    { 
     if (this.value != "") 
     { 
      var select2 = document.getElementById("sSec2"); 
      for (var i = 0; i < select2.options.length; i++) 
      { 
       if (this.value == select2.options[i].value) 
       { 
        select2.options[i] = null; 
        break; 
       } 
      } 
     } 
    }, false); 

Единственное, что вам нужно будет работать, хотя в том, что, когда параметр изменяется вам нужно, вероятно, пойти обратно через первые элементы списка и добавить все не выбранные элементы в список, чтобы вы вернули вопрос, который был удален с предыдущим выбором. Это не должно быть сложно, я просто не хотел обрабатывать все детали.

Также не уверен, что вы используете jquery или нет, поэтому я работал с простым старым javascript. Но регистрация событий должна быть проверена на совместимость, так как это не будет работать на всех.

+0

Я фактически использую dojo – Amen

+0

dis не работает, получая список вместо hcode .. –

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