2015-05-13 4 views
2

У меня есть 2 drop downs select1 и select2. Я выберу пункт1 select1 и затем нажмите кнопку «ОК» (в случае необходимости мне нужна помощь)Прокрутите все элементы select и добавьте пустой параметр, если любой из элементов равен нулю

тогда, если выбранныйиндекс равен 0 (т.е. первая опция), затем проведите по пунктам обоих выпадающих списков.

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

<select name="select1" id="select1" multiple size="10"> 
    <option>1<option> 
    <option>null<option> 
    <option>null<option> 
    <option>2<option> 
    <option>3<option> 
</select> 
<select name="select2" id="select2" multiple size="10"> 
    <option>4<option> 
    <option>5<option> 
    <option>6<option> 
    <option>null<option> 
    <option>10<option> 
</select> 

Я пробовал этот код, но скрипка не реагировала.

http://jsfiddle.net/678hmujh/13/

+2

У вас здесь небольшая проблема, оба списка имеют одинаковый идентификатор, и это неправильно. – SaidbakR

+1

Ваш скрипт перестает отвечать на запросы, потому что ваше условие цикла 'for' равно' i

+0

Захватите список опций, преобразуйте его в массив и затем повторите его. var var = var. for (var i = 0; i

ответ

1

Как я могу видеть в комментариях. вы не нарушаете цикл после добавления null, когда найдено первое совпадение.

http://jsfiddle.net/678hmujh/19/ это работает нормально для меня.

if (optionS1[i].text != "null" && optionS2[i].text != "null") { 
      $(sel1).append("<option value=''>null</option>"); 
      $(sel2).prepend("<option value=''>null</option>"); 
      return; 
     } 
+0

ohh, я просто не получил заявление о возвращении .. мой плохой – tryingtolearn

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

  • Нет связанных вопросов^_^