2014-02-20 200 views
1

我想創建一個下拉列表,該列表是根據在一組單選按鈕中進行的選擇動態填充的。我目前有一組單選按鈕名稱「適用性」,選擇的選項有:人員,程序,環境,交付能力,技術適航性和運營適航性。根據選擇哪一個,我希望下拉框中填充多個選項以供選擇。我目前使用的代碼是:單選按鈕選擇創建一個動態下拉列表

var peList = [「Worker Type」, 「Injury Type」]; 
var enList = [「Undefined」]; 
var prList = ["Facility", "Building", "Plant", "Damage Type"]; 
var caList = ["To Be Determined"]; 
var teList = ["Aircraft", "Component"]; 
var opList = ["Nothing at the moment"]; 

if (Applicability.rawValue===」People」) { 
      DropDownList4.clearItems; 
    for (var i = 0; i < peList.length; i++) { 
     DropDownList4.addItem(peList[i]); 
} 
     } else if (Applicability.rawValue===」Property」) { 
      DropDownList4.clearItems; 
    for (var i = 0; i < prList.length; i++) { 
     DropDownList4.addItem(prList[i]); 
     } 
     } else if (Applicability.rawValue===」Environment」) { 
      DropDownList4.clearItems; 
    for (var i = 0; i < enList.length; i++) { 
     DropDownList4.addItem(enList[i]); 
     } 
     } else if (Applicability.rawValue===」CapabilityToDeliver」) { 
      DropDownList4.clearItems; 
    for (var i = 0; i < caList.length; i++) { 
     DropDownList4.addItem(caList[i]); 
     } 
     } else if (Applicability.rawValue===」TechnicalAirworthiness」) { 
      DropDownList4.clearItems; 
    for (var i = 0; i < taList.length; i++) { 
     DropDownList4.addItem(taList[i]); 
     } 
     } else if (Applicability.rawValue===」OperationalAirworthiness」) { 
      DropDownList4.clearItems; 
    for (var i = 0; i < opList.length; i++) { 
     DropDownList4.addItem(opList[i]);} 

請問您可以通過向我展示我可能會出錯的地方來協助嗎?謝謝

+0

您是否在某處出現錯誤?代碼看起來不錯 – tewathia

+0

謝謝!它不會產生錯誤,它只是不起作用。我認爲這可能是沒有選擇正確執行選項的情況。我試過'點擊'和'initalise',但都沒有工作。你有什麼建議嗎?謝謝:) – mewisky

回答

0

clearitems是一種方法,應該被稱爲DropDownList4.clearItems();請注意這裏的代碼中缺少的括號。另外,通過使用開關使代碼更易於維護。例如:

var a,al,ax; // array, array length, array index 
switch(Applicability.rawValue){ 
case 'People': a=['Worker Type', 'Injury Type'];break; 
case 'Property': a=['Facility', 'Building', 'Plant', 'Damage Type'];break; 
case 'Environment': a=['Undefined'];break; 
case 'CapabilityToDeliver': a=['To Be Determined'];break; 
case 'TechnicalAirworthiness': a=['Aircraft', 'Component'];break; 
case 'OperationalAirworthiness': a=['Nothing at the moment'];break; 
default: 
// put your exception handling code here. 
} 
DropDownList4.clearItems(); 
for(ax=0,al=a.length;ax<al;ax++){ 
DropDownList4.addItem(a[ax]); 
} 
+0

非常感謝你的幫助!說實話,我給出的代碼是由另一個開發的,我無法讓它工作。你是什​​麼意思的「/把你的異常哈林代碼在這裏」?此外,我知道這必須作爲JavaScript輸入,但我不知道我使用正確的執行botton。我應該使用「點擊」還是「初始化」?非常感謝! – mewisky

+0

//告訴javascript忽略從該點到行尾的所有內容。所以我們用它來寫JS將忽略的消息,但人類不會。 –

+0

在正常操作中,rawValue將始終是六種情況之一。但如果不是呢?如果你拼錯了財產呢?你可以用alert來代替// line('代碼中有錯誤,我不知道如何處理'+ Applicability.rawValue'值);那麼,如果有人拼寫錯誤,有人會看到該消息,告訴你它,你會解決它。警報將處理「例外」,這是不應該發生的事情。 –