繁体   English   中英

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

[英]Using a radio button to update a select boxes options

我有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(male)选中单选按钮,请用新数组填充选择框。 或值w(female):再次填充另一个列表。 希望你们能理解我想知道的内容(我的英语不是最好的)

如果我没记错的话……不应该这样:

$aklasse = $_POST['aklasse'];

是这个吗

$aklasse = $_POST['altersklasse'];

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM