2013-05-02 2 views
0

Ниже приведен код, который я использую, чтобы выбрать элемент из одного тега select и добавить его в другой тег select. Теперь проблема в том, что мой первый тег select содержит более 10000 элементов. И мой код проверяет, выбран ли каждый элемент в выбранном теге один, и если он выбран, то проверяет, существует ли тот же элемент во втором теге select. Это очень неэффективно, так как требуется много времени. Может ли кто-нибудь предложить лучший код, с помощью которого я могу напрямую получить несколько выбранных элементов из тега select, а затем мне нужно только проверить, существуют ли они во втором теге select и добавить их.Улучшите код, чтобы получить выбранные элементы из тега select

if(Name.selectedIndex >= 0) 
      { 
       for(i=0;i<Name.options.length;i++) 
       { 

        if(Name.options[i].selected) 
        { 

         exist = false 
         for(j=0;j<addedScrips.options.length;j++) 
         { 

          if(addedScrips.options[j].value == Name.options[i].value) 
          { 
           exist = true; 
           break; 

          } 
         } 
         if(exist == false) 
         { 
          optVal = Name.options[i].value; 
          optText = Name.options[i].text; 
          if(optVal == "NoMatch") 
          {} 
          else 
          { 
           addedScrips.options[addedScrips.options.length] = new Option(optText,optVal); 
           break; 

          } 
         } 
        } 
       } 
       //sortOptions(addedScrips) 
      } 
+0

можете ли вы поместить свой код HTML-кода? – polin

+0

HTML-код содержит простые 2 тега select –

ответ

1

Если вы используете

var selectedValues = $('#multipleSelect').val(); 

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

Надеюсь, это помогло.

PS: Наличие выбора с 10.000 значениями является болью, а не совсем дружественной к пользователю ... Я предлагаю вам использовать Chosen, у которого есть хорошая опция поиска для выбора/мультивыбора.

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