2015-06-02 113 views
-1

我在尋找類似於3天的解決方案,但我無法獲得最終部分以使其成爲可能。Magento中的鏈接下拉菜單不能正常工作

我的問題是我無法建立我的3菜單之間的依賴關係。

這意味着的C選項應該依賴於值在B中選擇和B的選擇必須依賴於值A.即A-> B->選定的C

我只得到一個菜單 - > b,但不是b - > c。

如果有人可以給我一個新的代碼來處理,我只需要在選項中。

這是我的代碼:

<html> 
 

 
<head> 
 
    <style type="text/css"> 
 
    </style> 
 

 
    <script language="Javascript"> 
 
    <!-- Start 
 
    function update_auswahl1() { 
 
     var speicher; 
 
     var auswahl1 = document.forms.verzeichnis.auswahl1; 
 
     var auswahl2 = document.forms.verzeichnis.auswahl2; 
 
     var auswahl3 = document.forms.verzeichnis.auswahl3; 
 
     auswahl2.options.length = 0; // DropDown Menü entleeren 
 
     auswahl3.options.length = 0; // DropDown Menü entleeren 
 

 
     //********************** AUSWAHL 1 **************************************************************** 
 

 
     if (auswahl1.options[auswahl1.selectedIndex].value == "a") { 
 
      auswahl2.options[0] = new Option("d"); 
 
      auswahl2.options[1] = new Option("e"); 
 
     } else if (auswahl1.options[auswahl1.selectedIndex].value == "b") { 
 
      auswahl2.options[0] = new Option("e"); 
 
      auswahl2.options[1] = new Option("f"); 
 
     } else if (auswahl1.options[auswahl1.selectedIndex].value == "c") { 
 
      auswahl2.options[0] = new Option("f"); 
 
      auswahl2.options[1] = new Option("g"); 
 
     } else if (auswahl1.options[auswahl1.selectedIndex].value == "") { 
 
      auswahl2.options[0] = new Option("---- Bitte waehlen ----"); 
 
     } 
 

 

 
     //************************************************************************************************* 
 

 
     //********************* AUSWAHL 2 ***************************************************************** 
 

 
     if (auswahl2.options[auswahl2.selectedIndex].values == "d") { 
 
      auswahl3.options[0] = new Option("h"); 
 
      auswahl3.options[1] = new Option("i"); 
 
      auswahl3.options[2] = new Option("j"); 
 
     } else if (auswahl2.options[auswahl2.selectedIndex].values == "e") { 
 
      auswahl3.options[0] = new Option("i"); 
 
      auswahl3.options[1] = new Option("j"); 
 
      auswahl3.options[2] = new Option("k"); 
 
     } else if (auswahl2.options[auswahl2.selectedIndex].values == "f") { 
 
      auswahl3.options[0] = new Option("k"); 
 
      auswahl3.options[1] = new Option("l"); 
 
      auswahl3.options[2] = new Option("m"); 
 
     } 
 
     } 
 
     //************************************************************************************************* 
 
     // Ende --> 
 
    </script> 
 
    <title>Unbenanntes Dokument</title> 
 
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
 
</head> 
 

 
<body> 
 
    <form name="verzeichnis"> 
 
    <select size="1" name="auswahl1" onChange="update_auswahl1()"> 
 
     <option value="" selected>---- Bitte w&auml;hlen ----</option> 
 
     <option value="a">a</option> 
 
     <option value="b">b</option> 
 
     <option value="c">c</option> 
 
    </select> 
 
    <br> 
 
    <br> 
 
    <select size="1" name="auswahl2"> 
 
     <option selected>---- Bitte w&auml;hlen ----</option> 
 
    </select> 
 
    <br> 
 
    <br> 
 
    <select name="auswahl3" size="1"> 
 
     <option selected>---- Bitte w&auml;hlen ----</option> 
 
    </select> 
 
    </form> 
 

 
</body> 
 

 
</html>

我很感謝4每一個幫助

回答

0

你讓3個錯誤:

  1. 在if-else語句塊「AUSWAHL 2「鍵入」.values「而不是」.value「

    (auswahl2.options [auswahl2.selectedIndex] .values == 「d」)

  2. 您沒有添加上選擇auswahl2的處理程序。
  3. 需要編寫2個函數而不是1個,否則當您更改auswahl2時,他將被覆蓋而不存儲所選值。
<html> 
 

 
<head> 
 
    <style type="text/css"> 
 
    </style> 
 

 
    <script language="Javascript"> 
 
    <!-- Start 
 
    function update_auswahl1() { 
 
     var speicher; 
 
     var auswahl1 = document.forms.verzeichnis.auswahl1; 
 
     var auswahl2 = document.forms.verzeichnis.auswahl2; 
 
     var auswahl3 = document.forms.verzeichnis.auswahl3; 
 
     auswahl2.options.length = 0; // DropDown Menü entleeren 
 
     auswahl3.options.length = 0; // DropDown Menü entleeren 
 

 
     //********************** AUSWAHL 1 **************************************************************** 
 

 
     if (auswahl1.options[auswahl1.selectedIndex].value == "a") { 
 
      auswahl2.options[0] = new Option("d"); 
 
      auswahl2.options[1] = new Option("e"); 
 
     } else if (auswahl1.options[auswahl1.selectedIndex].value == "b") { 
 
      auswahl2.options[0] = new Option("e"); 
 
      auswahl2.options[1] = new Option("f"); 
 
     } else if (auswahl1.options[auswahl1.selectedIndex].value == "c") { 
 
      auswahl2.options[0] = new Option("f"); 
 
      auswahl2.options[1] = new Option("g"); 
 
     } else if (auswahl1.options[auswahl1.selectedIndex].value == "") { 
 
      auswahl2.options[0] = new Option("---- Bitte waehlen ----"); 
 
     } 
 

 
     update_auswahl2(); 
 
     //************************************************************************************************* 
 
    } 
 

 
     function update_auswahl2() { 
 
     var speicher; 
 
     var auswahl2 = document.forms.verzeichnis.auswahl2; 
 
     var auswahl3 = document.forms.verzeichnis.auswahl3; 
 
     auswahl3.options.length = 0; // DropDown Menü entleeren 
 

 
     //********************* AUSWAHL 2 ***************************************************************** 
 
     if (auswahl2.options[auswahl2.selectedIndex].value == "d") { 
 
      auswahl3.options[0] = new Option("h"); 
 
      auswahl3.options[1] = new Option("i"); 
 
      auswahl3.options[2] = new Option("j"); 
 
     } else if (auswahl2.options[auswahl2.selectedIndex].value == "e") { 
 
      auswahl3.options[0] = new Option("i"); 
 
      auswahl3.options[1] = new Option("j"); 
 
      auswahl3.options[2] = new Option("k"); 
 
     } else if (auswahl2.options[auswahl2.selectedIndex].value == "f") { 
 
      auswahl3.options[0] = new Option("k"); 
 
      auswahl3.options[1] = new Option("l"); 
 
      auswahl3.options[2] = new Option("m"); 
 
     } 
 
     } 
 
     //************************************************************************************************* 
 
     // Ende --> 
 
    </script> 
 
    <title>Unbenanntes Dokument</title> 
 
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
 
</head> 
 

 
<body> 
 
    <form name="verzeichnis"> 
 
    <select size="1" name="auswahl1" onChange="update_auswahl1()"> 
 
     <option value="" selected>---- Bitte w&auml;hlen ----</option> 
 
     <option value="a">a</option> 
 
     <option value="b">b</option> 
 
     <option value="c">c</option> 
 
    </select> 
 
    <br> 
 
    <br> 
 
    <select size="1" name="auswahl2" onChange="update_auswahl2()"> 
 
     <option selected>---- Bitte w&auml;hlen ----</option> 
 
    </select> 
 
    <br> 
 
    <br> 
 
    <select name="auswahl3" size="1"> 
 
     <option selected>---- Bitte w&auml;hlen ----</option> 
 
    </select> 
 
    </form> 
 

 
</body> 
 

 
</html>

+0

哇那是一個非常大的幫助,感謝 但如果我想提出一個更菜單,我不知道該怎麼做,u能可能幫助我嗎? from 3 - > 4 – VioX

+0

您可以在全局變量中處理select.value。留下一個函數(而不是我的兩個函數),並且只有在前一個select.value的值已被更改時才重新填充。 –