2015-04-01 3 views
0

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

Я довольно новичок в javascript и jQuery 1.11.0 и буду признателен за любую помощь.

Вот код, с которым я работаю.

select name="aircraftList" id="aircraftList" onchange="showAircraft(this.selectedIndex)" 

select name="configWBList" id="configWBList" 

// values for AIRCRAFT 
// tnumber, acmodel, maxwt, f1arm, m1arm, r1arm, littarm, bag1max, fuel1kgmax, 
/////////////////////////////////////////////////////////// 
var aircraft = [ 
    ["Select Aircraft", "", "", "", "", "", "", "", "", ""], 
    ['N901AH', "Agusta A109E", 3000, 1585, 2455, 3200, 5300, 3200, 150, 480], 
    ['N902AH', "Agusta A109E", 3000, 1585, 2455, 3200, 5300, 3200, 150, 480], 
    ['N903AH', "Agusta A109E", 3000, 1585, 2455, 3200, 5300, 3200, 150, 480], 
    ['N904AH', "Agusta A109E", 3000, 1585, 2455, 3200, 5300, 3200, 150, 480], 
    ['N905AH', "Agusta A109E", 3000, 1585, 2455, 3200, 5300, 3200, 150, 480], 
    ['N907AH', "Agusta A109E", 3000, 1585, 2455, 3200, 5300, 3200, 150, 480] 
]; 

// values for AC N901AH 
/////////////////////////////////////////////////////////// 
var N901AH = [ 
    ["Select a Configuration", "Select Config", "Select Config"], 
    ["6 PAX STANDARD SEATS OFFSHORE", 2205.61, 3485.69], 
    ["DUAL CONTROLS INSTALLED", 2207.81, 3483.76], 
    ["VIP SEATS INSTALLED", 2212.11, 3483.75], 
    ["VIP SEATS, DUAL CONTROLS INSTALLED", 2214.31, 3481.83], 
    ["ONE LITTER KIT INSTALLED", 2213.91, 3483.50], 
    ["ONE LITTER, DUAL CONTROLS INSTALLED", 2216.11, 3481.58], 
    ["6 PAX STANDARD SEATS, VESTS REMOVED", 2196.81, 3489.83], 
    ["VIP SEATS INSTALLED, VEST REMOVED", 2203.31, 3487.87], 
    ["ONE LITTER INSTALLED, VESTS REMOVED", 2207.31, 3487.02], 
    ["TWO LITTER INSTALLED", 2222.21, 3481.32], 
    ["TWO LITTER, DUAL CONTROLS INSTALLED", 2224.41, 3479.41], 
    ["VIP SEATS, DUAL CONTROLS INSTALLED, VESTS REMOVED", 2205.51, 3485.93], 
    ["ONE LITTER, DUAL CONTROLS INSTALLED, VESTS REMOVED", 2209.51, 3485.09], 
    ["TWO LITTER, DUAL CONTROLS INSTALLED, VESTS REMOVED", 2220.01, 3482.33], 
    ["FLOATS, RAFT, VESTS REMOVED", 2084.51, 3507.26] 
]; 

// values for AC N902AH 
/////////////////////////////////////////////////////////// 
var N902AH = [ 
    ["Select a Configuration", "Select Config", "Select Config"], 
    ["6 PAX STANDARD SEATS OFFSHORE", 2205.61, 3485.69], 
    ["DUAL CONTROLS INSTALLED", 2207.81, 3483.76], 
    ["VIP SEATS INSTALLED", 2212.11, 3483.75], 
    ["VIP SEATS, DUAL CONTROLS INSTALLED", 2214.31, 3481.83], 
    ["ONE LITTER KIT INSTALLED", 2213.91, 3483.50], 
    ["ONE LITTER, DUAL CONTROLS INSTALLED", 2216.11, 3481.58], 
    ["6 PAX STANDARD SEATS, VESTS REMOVED", 2196.81, 3489.83], 
    ["VIP SEATS INSTALLED, VEST REMOVED", 2203.31, 3487.87], 
    ["ONE LITTER INSTALLED, VESTS REMOVED", 2207.31, 3487.02], 
    ["TWO LITTER INSTALLED", 2222.21, 3481.32], 
    ["TWO LITTER, DUAL CONTROLS INSTALLED", 2224.41, 3479.41], 
    ["VIP SEATS, DUAL CONTROLS INSTALLED, VESTS REMOVED", 2205.51, 3485.93], 
    ["ONE LITTER, DUAL CONTROLS INSTALLED, VESTS REMOVED", 2209.51, 3485.09], 
    ["TWO LITTER, DUAL CONTROLS INSTALLED, VESTS REMOVED", 2220.01, 3482.33], 
    ["FLOATS, RAFT, VESTS REMOVED", 2084.51, 3507.26] 
]; 

// values for AC N903AH 
/////////////////////////////////////////////////////////// 
var N903AH = [ 
    ["Select a Configuration", "Select Config", "Select Config"], 
    ["6 PAX STANDARD SEATS OFFSHORE", 2205.61, 3485.69], 
    ["DUAL CONTROLS INSTALLED", 2207.81, 3483.76], 
    ["VIP SEATS INSTALLED", 2212.11, 3483.75], 
    ["VIP SEATS, DUAL CONTROLS INSTALLED", 2214.31, 3481.83], 
    ["ONE LITTER KIT INSTALLED", 2213.91, 3483.50], 
    ["ONE LITTER, DUAL CONTROLS INSTALLED", 2216.11, 3481.58], 
    ["6 PAX STANDARD SEATS, VESTS REMOVED", 2196.81, 3489.83], 
    ["VIP SEATS INSTALLED, VEST REMOVED", 2203.31, 3487.87], 
    ["ONE LITTER INSTALLED, VESTS REMOVED", 2207.31, 3487.02], 
    ["TWO LITTER INSTALLED", 2222.21, 3481.32], 
    ["TWO LITTER, DUAL CONTROLS INSTALLED", 2224.41, 3479.41], 
    ["VIP SEATS, DUAL CONTROLS INSTALLED, VESTS REMOVED", 2205.51, 3485.93], 
    ["ONE LITTER, DUAL CONTROLS INSTALLED, VESTS REMOVED", 2209.51, 3485.09], 
    ["TWO LITTER, DUAL CONTROLS INSTALLED, VESTS REMOVED", 2220.01, 3482.33], 
    ["FLOATS, RAFT, VESTS REMOVED", 2084.51, 3507.26] 
]; 

// values for AC N904AH 
/////////////////////////////////////////////////////////// 
var N904AH = [ 
    ["Select a Configuration", "Select Config", "Select Config"], 
    ["6 PAX STANDARD SEATS OFFSHORE", 2205.61, 3485.69], 
    ["DUAL CONTROLS INSTALLED", 2207.81, 3483.76], 
    ["VIP SEATS INSTALLED", 2212.11, 3483.75], 
    ["VIP SEATS, DUAL CONTROLS INSTALLED", 2214.31, 3481.83], 
    ["ONE LITTER KIT INSTALLED", 2213.91, 3483.50], 
    ["ONE LITTER, DUAL CONTROLS INSTALLED", 2216.11, 3481.58], 
    ["6 PAX STANDARD SEATS, VESTS REMOVED", 2196.81, 3489.83], 
    ["VIP SEATS INSTALLED, VEST REMOVED", 2203.31, 3487.87], 
    ["ONE LITTER INSTALLED, VESTS REMOVED", 2207.31, 3487.02], 
    ["TWO LITTER INSTALLED", 2222.21, 3481.32], 
    ["TWO LITTER, DUAL CONTROLS INSTALLED", 2224.41, 3479.41], 
    ["VIP SEATS, DUAL CONTROLS INSTALLED, VESTS REMOVED", 2205.51, 3485.93], 
    ["ONE LITTER, DUAL CONTROLS INSTALLED, VESTS REMOVED", 2209.51, 3485.09], 
    ["TWO LITTER, DUAL CONTROLS INSTALLED, VESTS REMOVED", 2220.01, 3482.33], 
    ["FLOATS, RAFT, VESTS REMOVED", 2084.51, 3507.26] 
]; 

// values for AC N905AH 
/////////////////////////////////////////////////////////// 
var N905AH = [ 
    ["Select a Configuration", "Select Config", "Select Config"], 
    ["6 PAX STANDARD SEATS OFFSHORE", 2205.61, 3485.69], 
    ["DUAL CONTROLS INSTALLED", 2207.81, 3483.76], 
    ["VIP SEATS INSTALLED", 2212.11, 3483.75], 
    ["VIP SEATS, DUAL CONTROLS INSTALLED", 2214.31, 3481.83], 
    ["ONE LITTER KIT INSTALLED", 2213.91, 3483.50], 
    ["ONE LITTER, DUAL CONTROLS INSTALLED", 2216.11, 3481.58], 
    ["6 PAX STANDARD SEATS, VESTS REMOVED", 2196.81, 3489.83], 
    ["VIP SEATS INSTALLED, VEST REMOVED", 2203.31, 3487.87], 
    ["ONE LITTER INSTALLED, VESTS REMOVED", 2207.31, 3487.02], 
    ["TWO LITTER INSTALLED", 2222.21, 3481.32], 
    ["TWO LITTER, DUAL CONTROLS INSTALLED", 2224.41, 3479.41], 
    ["VIP SEATS, DUAL CONTROLS INSTALLED, VESTS REMOVED", 2205.51, 3485.93], 
    ["ONE LITTER, DUAL CONTROLS INSTALLED, VESTS REMOVED", 2209.51, 3485.09], 
    ["TWO LITTER, DUAL CONTROLS INSTALLED, VESTS REMOVED", 2220.01, 3482.33], 
    ["FLOATS, RAFT, VESTS REMOVED", 2084.51, 3507.26] 
]; 

// values for AC N907AH 
/////////////////////////////////////////////////////////// 
var N907AH = [ 
    ["Select a Configuration", "Select Config", "Select Config"], 
    ["6 PAX STANDARD SEATS OFFSHORE", 2205.61, 3485.69], 
    ["DUAL CONTROLS INSTALLED", 2207.81, 3483.76], 
    ["VIP SEATS INSTALLED", 2212.11, 3483.75], 
    ["VIP SEATS, DUAL CONTROLS INSTALLED", 2214.31, 3481.83], 
    ["ONE LITTER KIT INSTALLED", 2213.91, 3483.50], 
    ["ONE LITTER, DUAL CONTROLS INSTALLED", 2216.11, 3481.58], 
    ["6 PAX STANDARD SEATS, VESTS REMOVED", 2196.81, 3489.83], 
    ["VIP SEATS INSTALLED, VEST REMOVED", 2203.31, 3487.87], 
    ["ONE LITTER INSTALLED, VESTS REMOVED", 2207.31, 3487.02], 
    ["TWO LITTER INSTALLED", 2222.21, 3481.32], 
    ["TWO LITTER, DUAL CONTROLS INSTALLED", 2224.41, 3479.41], 
    ["VIP SEATS, DUAL CONTROLS INSTALLED, VESTS REMOVED", 2205.51, 3485.93], 
    ["ONE LITTER, DUAL CONTROLS INSTALLED, VESTS REMOVED", 2209.51, 3485.09], 
    ["TWO LITTER, DUAL CONTROLS INSTALLED, VESTS REMOVED", 2220.01, 3482.33], 
    ["FLOATS, RAFT, VESTS REMOVED", 2084.51, 3507.26] 
]; 


// set form values to selected aircraft option 
/////////////////////////////////////////////////////////// 
function showAircraft(idx) { 
    var aircraftWB = [aircraft[idx][0]] 
    alert(aircraftWB); 
    $("#configWBList").html(''); 
    list(aircraftWB); 
} 

function list(arrary) { 
    alert(arrary); 

    // populate selected aircraft w&b select 
    /////////////////////////////////////////////////////////// 
    for (i = 0; i < arrary.length; i++) { 
     var select = document.getElementById("configWBList"); 
     select.options[select.options.length] = new Option(arrary[i][0], arrary[i][1]); 
    } 

    // reset the selected aircraft configuration to standard 
    /////////////////////////////////////////////////////////// 
    $("#configWBList").val($("#configWBList option:first").val()); 
    $("#configWBList").selectmenu('refresh', true); 

} 


// initialise form 
// **************************************************** 
function initForm() { 
    // populate aircraft select 
    /////////////////////////////////////////////////////////// 
    for (i = 0; i < aircraft.length; i++) { 
     var select = document.getElementById("aircraftList"); 
     select.options[select.options.length] = new Option(aircraft[i][0], aircraft[i][1]); 
    } 
} 

initForm(); 

https://jsfiddle.net/g3h9p2ur/

+0

Вы застряли в информации в этой форме или сами пишете эти массивы? Если вы можете их изменить, ассоциативные массивы могут быть лучшим выбором. – ntrrobng

+0

Нет, я сам пишу эти массивы. Как я уже сказал, я очень новичок в jQuery (мой первый проект), и я не мог заставить ассоциативные массивы работать. – geno

ответ

0

Вы можете использовать "Eval", чтобы получить результат переменных данных.

<html> 
 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script> 
 
<script language="javascript"> 
 
var aircraft = [ 
 
    ["Select Aircraft", "", "", "", "", "", "", "", "", ""], 
 
    ['N901AH', "Agusta A109E", 3000, 1585, 2455, 3200, 5300, 3200, 150, 480], 
 
    ['N902AH', "Agusta A109E", 3000, 1585, 2455, 3200, 5300, 3200, 150, 480], 
 
    ['N903AH', "Agusta A109E", 3000, 1585, 2455, 3200, 5300, 3200, 150, 480], 
 
    ['N904AH', "Agusta A109E", 3000, 1585, 2455, 3200, 5300, 3200, 150, 480], 
 
    ['N905AH', "Agusta A109E", 3000, 1585, 2455, 3200, 5300, 3200, 150, 480], 
 
    ['N907AH', "Agusta A109E", 3000, 1585, 2455, 3200, 5300, 3200, 150, 480] 
 
]; 
 

 
// values for AC N901AH 
 
/////////////////////////////////////////////////////////// 
 
var N901AH = [ 
 
    ["Select a Configuration1", "Select Config", "Select Config"], 
 
    ["6 PAX STANDARD SEATS OFFSHORE", 2205.61, 3485.69], 
 
    ["DUAL CONTROLS INSTALLED", 2207.81, 3483.76], 
 
    ["VIP SEATS INSTALLED", 2212.11, 3483.75], 
 
    ["VIP SEATS, DUAL CONTROLS INSTALLED", 2214.31, 3481.83], 
 
    ["ONE LITTER KIT INSTALLED", 2213.91, 3483.50], 
 
    ["ONE LITTER, DUAL CONTROLS INSTALLED", 2216.11, 3481.58], 
 
    ["6 PAX STANDARD SEATS, VESTS REMOVED", 2196.81, 3489.83], 
 
    ["VIP SEATS INSTALLED, VEST REMOVED", 2203.31, 3487.87], 
 
    ["ONE LITTER INSTALLED, VESTS REMOVED", 2207.31, 3487.02], 
 
    ["TWO LITTER INSTALLED", 2222.21, 3481.32], 
 
    ["TWO LITTER, DUAL CONTROLS INSTALLED", 2224.41, 3479.41], 
 
    ["VIP SEATS, DUAL CONTROLS INSTALLED, VESTS REMOVED", 2205.51, 3485.93], 
 
    ["ONE LITTER, DUAL CONTROLS INSTALLED, VESTS REMOVED", 2209.51, 3485.09], 
 
    ["TWO LITTER, DUAL CONTROLS INSTALLED, VESTS REMOVED", 2220.01, 3482.33], 
 
    ["FLOATS, RAFT, VESTS REMOVED", 2084.51, 3507.26] 
 
]; 
 

 
// values for AC N902AH 
 
/////////////////////////////////////////////////////////// 
 
var N902AH = [ 
 
    ["Select a Configuration2", "Select Config", "Select Config"], 
 
    ["6 PAX STANDARD SEATS OFFSHORE", 2205.61, 3485.69], 
 
    ["DUAL CONTROLS INSTALLED", 2207.81, 3483.76], 
 
    ["VIP SEATS INSTALLED", 2212.11, 3483.75], 
 
    ["VIP SEATS, DUAL CONTROLS INSTALLED", 2214.31, 3481.83], 
 
    ["ONE LITTER KIT INSTALLED", 2213.91, 3483.50], 
 
    ["ONE LITTER, DUAL CONTROLS INSTALLED", 2216.11, 3481.58], 
 
    ["6 PAX STANDARD SEATS, VESTS REMOVED", 2196.81, 3489.83], 
 
    ["VIP SEATS INSTALLED, VEST REMOVED", 2203.31, 3487.87], 
 
    ["ONE LITTER INSTALLED, VESTS REMOVED", 2207.31, 3487.02], 
 
    ["TWO LITTER INSTALLED", 2222.21, 3481.32], 
 
    ["TWO LITTER, DUAL CONTROLS INSTALLED", 2224.41, 3479.41], 
 
    ["VIP SEATS, DUAL CONTROLS INSTALLED, VESTS REMOVED", 2205.51, 3485.93], 
 
    ["ONE LITTER, DUAL CONTROLS INSTALLED, VESTS REMOVED", 2209.51, 3485.09], 
 
    ["TWO LITTER, DUAL CONTROLS INSTALLED, VESTS REMOVED", 2220.01, 3482.33], 
 
    ["FLOATS, RAFT, VESTS REMOVED", 2084.51, 3507.26] 
 
]; 
 

 
// values for AC N903AH 
 
/////////////////////////////////////////////////////////// 
 
var N903AH = [ 
 
    ["Select a Configuration3", "Select Config", "Select Config"], 
 
    ["6 PAX STANDARD SEATS OFFSHORE", 2205.61, 3485.69], 
 
    ["DUAL CONTROLS INSTALLED", 2207.81, 3483.76], 
 
    ["VIP SEATS INSTALLED", 2212.11, 3483.75], 
 
    ["VIP SEATS, DUAL CONTROLS INSTALLED", 2214.31, 3481.83], 
 
    ["ONE LITTER KIT INSTALLED", 2213.91, 3483.50], 
 
    ["ONE LITTER, DUAL CONTROLS INSTALLED", 2216.11, 3481.58], 
 
    ["6 PAX STANDARD SEATS, VESTS REMOVED", 2196.81, 3489.83], 
 
    ["VIP SEATS INSTALLED, VEST REMOVED", 2203.31, 3487.87], 
 
    ["ONE LITTER INSTALLED, VESTS REMOVED", 2207.31, 3487.02], 
 
    ["TWO LITTER INSTALLED", 2222.21, 3481.32], 
 
    ["TWO LITTER, DUAL CONTROLS INSTALLED", 2224.41, 3479.41], 
 
    ["VIP SEATS, DUAL CONTROLS INSTALLED, VESTS REMOVED", 2205.51, 3485.93], 
 
    ["ONE LITTER, DUAL CONTROLS INSTALLED, VESTS REMOVED", 2209.51, 3485.09], 
 
    ["TWO LITTER, DUAL CONTROLS INSTALLED, VESTS REMOVED", 2220.01, 3482.33], 
 
    ["FLOATS, RAFT, VESTS REMOVED", 2084.51, 3507.26] 
 
]; 
 

 
// values for AC N904AH 
 
/////////////////////////////////////////////////////////// 
 
var N904AH = [ 
 
    ["Select a Configuration", "Select Config", "Select Config"], 
 
    ["6 PAX STANDARD SEATS OFFSHORE", 2205.61, 3485.69], 
 
    ["DUAL CONTROLS INSTALLED", 2207.81, 3483.76], 
 
    ["VIP SEATS INSTALLED", 2212.11, 3483.75], 
 
    ["VIP SEATS, DUAL CONTROLS INSTALLED", 2214.31, 3481.83], 
 
    ["ONE LITTER KIT INSTALLED", 2213.91, 3483.50], 
 
    ["ONE LITTER, DUAL CONTROLS INSTALLED", 2216.11, 3481.58], 
 
    ["6 PAX STANDARD SEATS, VESTS REMOVED", 2196.81, 3489.83], 
 
    ["VIP SEATS INSTALLED, VEST REMOVED", 2203.31, 3487.87], 
 
    ["ONE LITTER INSTALLED, VESTS REMOVED", 2207.31, 3487.02], 
 
    ["TWO LITTER INSTALLED", 2222.21, 3481.32], 
 
    ["TWO LITTER, DUAL CONTROLS INSTALLED", 2224.41, 3479.41], 
 
    ["VIP SEATS, DUAL CONTROLS INSTALLED, VESTS REMOVED", 2205.51, 3485.93], 
 
    ["ONE LITTER, DUAL CONTROLS INSTALLED, VESTS REMOVED", 2209.51, 3485.09], 
 
    ["TWO LITTER, DUAL CONTROLS INSTALLED, VESTS REMOVED", 2220.01, 3482.33], 
 
    ["FLOATS, RAFT, VESTS REMOVED", 2084.51, 3507.26] 
 
]; 
 

 
// values for AC N905AH 
 
/////////////////////////////////////////////////////////// 
 
var N905AH = [ 
 
    ["Select a Configuration", "Select Config", "Select Config"], 
 
    ["6 PAX STANDARD SEATS OFFSHORE", 2205.61, 3485.69], 
 
    ["DUAL CONTROLS INSTALLED", 2207.81, 3483.76], 
 
    ["VIP SEATS INSTALLED", 2212.11, 3483.75], 
 
    ["VIP SEATS, DUAL CONTROLS INSTALLED", 2214.31, 3481.83], 
 
    ["ONE LITTER KIT INSTALLED", 2213.91, 3483.50], 
 
    ["ONE LITTER, DUAL CONTROLS INSTALLED", 2216.11, 3481.58], 
 
    ["6 PAX STANDARD SEATS, VESTS REMOVED", 2196.81, 3489.83], 
 
    ["VIP SEATS INSTALLED, VEST REMOVED", 2203.31, 3487.87], 
 
    ["ONE LITTER INSTALLED, VESTS REMOVED", 2207.31, 3487.02], 
 
    ["TWO LITTER INSTALLED", 2222.21, 3481.32], 
 
    ["TWO LITTER, DUAL CONTROLS INSTALLED", 2224.41, 3479.41], 
 
    ["VIP SEATS, DUAL CONTROLS INSTALLED, VESTS REMOVED", 2205.51, 3485.93], 
 
    ["ONE LITTER, DUAL CONTROLS INSTALLED, VESTS REMOVED", 2209.51, 3485.09], 
 
    ["TWO LITTER, DUAL CONTROLS INSTALLED, VESTS REMOVED", 2220.01, 3482.33], 
 
    ["FLOATS, RAFT, VESTS REMOVED", 2084.51, 3507.26] 
 
]; 
 

 
// values for AC N907AH 
 
/////////////////////////////////////////////////////////// 
 
var N907AH = [ 
 
    ["Select a Configuration", "Select Config", "Select Config"], 
 
    ["6 PAX STANDARD SEATS OFFSHORE", 2205.61, 3485.69], 
 
    ["DUAL CONTROLS INSTALLED", 2207.81, 3483.76], 
 
    ["VIP SEATS INSTALLED", 2212.11, 3483.75], 
 
    ["VIP SEATS, DUAL CONTROLS INSTALLED", 2214.31, 3481.83], 
 
    ["ONE LITTER KIT INSTALLED", 2213.91, 3483.50], 
 
    ["ONE LITTER, DUAL CONTROLS INSTALLED", 2216.11, 3481.58], 
 
    ["6 PAX STANDARD SEATS, VESTS REMOVED", 2196.81, 3489.83], 
 
    ["VIP SEATS INSTALLED, VEST REMOVED", 2203.31, 3487.87], 
 
    ["ONE LITTER INSTALLED, VESTS REMOVED", 2207.31, 3487.02], 
 
    ["TWO LITTER INSTALLED", 2222.21, 3481.32], 
 
    ["TWO LITTER, DUAL CONTROLS INSTALLED", 2224.41, 3479.41], 
 
    ["VIP SEATS, DUAL CONTROLS INSTALLED, VESTS REMOVED", 2205.51, 3485.93], 
 
    ["ONE LITTER, DUAL CONTROLS INSTALLED, VESTS REMOVED", 2209.51, 3485.09], 
 
    ["TWO LITTER, DUAL CONTROLS INSTALLED, VESTS REMOVED", 2220.01, 3482.33], 
 
    ["FLOATS, RAFT, VESTS REMOVED", 2084.51, 3507.26] 
 
]; 
 
//alert(eval('N901AH')); 
 
var subListValue=""; 
 
$(document).ready(function() { 
 
//alert(aircraft.length); 
 

 
    for(i=0;i<aircraft.length;i++) 
 
    { 
 
\t 
 
\t $('#list1') 
 
     .append($("<option></option>") 
 
     .attr("value",aircraft[i][0]) 
 
     .text(aircraft[i][0])); 
 
\t \t 
 
\t \t 
 
    } 
 
    
 
    
 
    $('#list1').on('change', function() { 
 
    $('#list2').empty(); 
 
    subListValue=eval(this.value); // or $(this).val() 
 
    for(i=0;i<subListValue.length;i++) 
 
    { 
 
\t 
 
\t $('#list2') 
 
     .append($("<option></option>") 
 
     .attr("value",subListValue[i][0]) 
 
     .text(subListValue[i][0])); 
 
\t \t 
 
\t \t 
 
    } 
 
}); 
 
}); 
 
</script> 
 
<select id="list1"> 
 
</select> 
 
<select id="list2"> 
 
</select> 
 
</html>

2

То, что я хотел бы предложить, чтобы создать объект из массивов как:

var aircrafts = { "N901AH" : N901AH, "N902AH" : N902AH, "N903AH" : N903AH, "N904AH" : N904AH, "N905AH" : N905AH, "N907AH" : N907AH}; 

Также вместо для контура использовать $ .each (массив, обработчик (индекс, элемент)). Тогда вместо Eval() использовать вариант текста, чтобы получить массив необходимо от объекта:

console.log(aircrafts["N901AH"]);//example 

и заполнить второй выбор. Вот моя скрипка: jsfiddle for my answer

С уважением.

+0

есть ли причина не для eval()? – geno

+0

преобразует строку в исполняемый JavaScript. это возможный предел атаки. Подробнее в ссылке: http://jslinterrors.com/eval-is-evil – mzografski

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