2015-04-01 49 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 2015-04-01 04:33:09

+0

不,我自己寫這些數組。正如我所說我對jQuery(我的第一個項目)非常陌生,我無法讓聯合數組工作。 – geno 2015-04-01 17:06:46

回答

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}; 

此外,而不是爲循環使用$。每個(陣列處理(指數,元件))。然後,而不是eval()函數使用該選項的文本,讓你從對象需要數組:

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

和填充第二選擇。 這是我的小提琴: jsfiddle for my answer

問候。

+0

有沒有一個原因不是eval()? – geno 2015-04-01 10:07:00

+0

它將字符串轉換爲可執行的JavaScript。這是攻擊的一個可能的突破點。更多鏈接: http://jslinterrors.com/eval-is-vil – mzografski 2015-04-01 11:16:48