2013-12-10 69 views
0

我有2个单选按钮。如果选择了其中的一个,应该有新的项目 填写选择框http://jsfiddle.net/uuEE2/1/使用单选按钮更新选择框选项

JavaScript代码

function Fill(gender) 
     { 
     var dropdown = document.getElementById("aklasse"); 

     switch (gender.value){ 
      case 'm':{ 
       dropdown.options.length = 0; 
       dropdown.options[dropdown.options.length] = new Option("Schüler Jungen(-12 Jahre)","7"); 
       dropdown.options[dropdown.options.length] = new Option('Jugentliche Jungen (13-15 Jahre)','5'); 
       dropdown.options[dropdown.options.length] = new Option('Junioren Jungen (16-17 Jahre)','3'); 
       dropdown.options[dropdown.options.length] = new Option('Erwachsene Herren (18-54 Jahre)','1'); 
       dropdown.options[dropdown.options.length] = new Option('Senioren Herren','A'); 
       break; 
        } 
       case 'w': 
       { 
       dropdown.options.length = 0; 
       dropdown.options[dropdown.options.length] = new Option('Schüler Mädchen (-12 Jahre)','8'); 
       dropdown.options[dropdown.options.length] = new Option('Jugentliche Mädchen (13-15 Jahre)','6'); 
       dropdown.options[dropdown.options.length] = new Option('Junioren Mädchen (16-17 Jahre)','4'); 
       dropdown.options[dropdown.options.length] = new Option('Erwachsene Damen (18-54 Jahre)','2'); 
       dropdown.options[dropdown.options.length] = new Option('Senioren Damen','B'); 
       break; 
       } 
      } 
     } 

HTML码

 <tr> 
     <td align="right">Geschlecht: </td> 
     <td align="left">männlich<input name="gender" type="radio" value="m" id="mgender" onclick="Fill(this);"/> 
     <input name="gender" type="radio" value="w" onclick="Fill(this);"/> weiblich 
     </td> 
     <td>*</td> 
    </tr> 

<tr> 
     <td align="right">Altersklasse: </td> 
     <td align="left"><select name="altersklasse" id="aklasse" size="1"> 
     <option value="00">Select First</option> 
     </select></td> 
    </tr> 

PHP代码

<?php 
if(empty($_POST['aklasse'])) 
$aklasse = ""; 
else 
$aklasse = $_POST['aklasse']; 
    if($aklasse =="") 
     echo "Altersklasse wurde nicht ausgewählt<br>"; 
    else 
    { 
    switch ($gender) 
     { 
     case "m": 
      if(($aklasse == "8") || ($aklasse == "6") || ($aklasse == "4") || ($aklasse == "2") || ($aklasse == "B")) 
       echo "Ihre Angabe ist ungültig. Geschlecht und Altersklasse müssen übereinstimmen!"; 
      elseif(($aklasse == "7") && (alter($geb) > 12)) 
       echo "Alter und Altersklasse müssen übereinstimmen"; 
      elseif(($aklasse == "5") && ((alter($geb) < 13) ||(alter($geb) > 15))) 
       echo "Alter und Altersklasse müssen übereinstimmen"; 
      elseif(($aklasse == "3") && ((alter($geb) < 16) ||(alter($geb) > 17))) 
       echo "Alter und Altersklasse müssen übereinstimmen"; 
      elseif(($aklasse == "1") && ((alter($geb) < 18) ||(alter($geb) > 54))) 
       echo "Alter und Altersklasse müssen übereinstimmen"; 
      elseif(($aklasse == "A") && (alter($geb) < 54)) 
       echo "Alter und Altersklasse müssen übereinstimmen"; 
      else 
       echo "Altersklasse: " .$aklasse ."<br>";       
      break; 

     case "w": 
      if(($aklasse == "7") || ($aklasse == "5") || ($aklasse == "3") || ($aklasse == "1") || ($aklasse == "A")) 
       echo "Ihre Angabe ist ungültig. Geschlecht und Altersklasse müssen übereinstimmen!"; 
      elseif(($aklasse == "8") && (alter($geb) > 12)) 
       echo "Alter und Altersklasse müssen übereinstimmen"; 
      elseif(($aklasse == "6") && ((alter($geb) < 13) ||(alter($geb) > 15))) 
       echo "Alter und Altersklasse müssen übereinstimmen"; 
      elseif(($aklasse == "4") && ((alter($geb) < 16) ||(alter($geb) > 17))) 
       echo "Alter und Altersklasse müssen übereinstimmen"; 
      elseif(($aklasse == "2") && ((alter($geb) < 18) ||(alter($geb) > 54))) 
       echo "Alter und Altersklasse müssen übereinstimmen"; 
      elseif(($aklasse == "B") && (alter($geb) < 54)) 
       echo "Alter und Altersklasse müssen übereinstimmen"; 
      else 
       echo "Altersklasse: " .$aklasse ."<br>"; 
      break;   
     } 
    } 
    ?> 

但是使用这段代码,在我提交之后,我无法获得值(在php中)。我总是得到没有选择任何东西的消息。没有减少选择框(但我不想这样),它工作正常,但我想这样:如果我检查值为m(男性)的单选按钮:填充选择框与新阵列。或者值w(女性):再次填充另一个列表。希望能跟大家明白我想知道(我的英语心不是最好的)

+0

你能为同样的创建一个jsfiddle吗? –

+0

嗯,这个问题可能是在你的PHP代码中,但你不显示给我们,所以很难说... –

+0

增加了一个jsfiddle没有PHP的地方,所以我把我的代码放入css – Zezima

回答

0

如果我没有记错......应该不是这一行:

$aklasse = $_POST['aklasse']; 

是这样?

$aklasse = $_POST['altersklasse']; 

name用于从POST中获取值,而不是元素的ID标记。

+0

谢谢你现在的作品! – Zezima

+0

它的工作原理,但现在任何人都知道我该怎么办与阵列相同的功能: VAR male_class =新阵列( \t \t \t新的Array( “舒勒Jungen(-12雅雷)”, “7”), \t \t \t新阵列( “Jugentliche Jungen(13-15雅雷)”, “5”); \t \t变种female_class =新阵列( \t \t \t新阵列( “舒勒Mädchen(-12雅雷)”, “8” ), \t \t \t new Array(“Senioren Damen”,“B”)); 一个学校队友做了这两个阵列,我认为他用于或我不能看到它,但他不想告诉任何人他是如何做到这一点的 – Zezima