使用单选按钮更新选择框选项

时间:2013-12-10 13:06:59

标签: javascript php html

我有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(女性):再次填充另一个列表。希望你们明白我想知道的事情(我的英语不是最好的)

1 个答案:

答案 0 :(得分:0)

如果我没弄错的话......不应该这样:

$aklasse = $_POST['aklasse'];
这是吗?

$aklasse = $_POST['altersklasse'];

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