2013-08-20 4 views
0

У меня есть два массивсравнение значений массива и заполнение раскрывающегося списка

array1[1;2;3;] 
    array2[1;1;1;1;2;2;3;3;] 

Я заполнил 1-й массив в раскрывающемся меню. Теперь мне нужно проверить, есть ли во втором массиве элементы с одинаковым значением «1;» и на select fill dropdown2 с элементами массива2 с одинаковым значением. Мне просто нужен пример кода.

+0

Попробуйте уточнить. – Sasidharan

+0

уточнить что? – user2599279

+0

Вы можете использовать этот самозаписываемый метод Array: [Сравнение двух массивов в Javascript] (http://stackoverflow.com/questions/7837456/comparing-two-arrays-in-javascript) – alexP

ответ

1

Я создал jsFiddle, который может помочь вам достичь вашей цели: http://jsfiddle.net/XTdrr/

Исходный HTML:

<select id="select1" onChange="populateSelect2()"> 
    <option value="">Choose...</option> 
</select> 
<br/> 
<select id="select2"></select> 

Начальные JavaScript переменные

var array1 = [1, 2, 3]; 
var array2 = [1, 1, 1, 1, 2, 2, 3, 3]; 

var select1 = document.getElementById("select1"); 
var select2 = document.getElementById("select2"); 

Во-первых, он заполняет первый dropdo wn со значениями в массиве1.

window.onload = function() { 

    // here we populate select1 with the elements in array1 

    for (var i = 0; i < array1.length; i++) 
    { 
     var opt = document.createElement('option'); 
     opt.value = array1[i]; 
     opt.innerHTML = array1[i]; 
     select1.appendChild(opt); 
    } 
} 

Когда что-то выбрано INT первого выпадающего списка, он ищет соответствующие элементы в массив2 и заполнит второй выпадающий список с теми.

function populateSelect2() 
{ 
    // first, empty select2 

    for (var i = select2.options.length - 1; i >= 0; i--) 
    { 
     select2.remove(i); 
    } 

    // then add new items 
    // based on the selected value from select1 and matches from array2 

    for (var i = 0; i < array2.length; i++) 
    { 
     if (array2[i] == select1.value) 
     { 
      var opt = document.createElement('option'); 
      opt.value = array2[i]; 
      opt.innerHTML = array2[i]; 
      select2.appendChild(opt); 
     } 
    } 
} 
+0

zea it works prettz fine thxs – user2599279

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