单选按钮显示另一组表单

时间:2013-06-26 09:57:18

标签: php javascript forms radio

我想要一个表格,当选择收音机A时,它会显示另一组单选按钮。

我已经制作了表格

<div id="numberofpax">
    <p><input type="radio" id="radio1" name="ToggleDivs" onclick="Toggle('Div2-selfdrive');" value="2" class="2paxcar">
    <label for="radio1"><img src="images/form/2pax.png"></label></p>

    <p><input type="radio" id="radio2" name="ToggleDivs" onclick="Toggle('Div3-selfdrive');" value="3" class="3paxcar" checked>
    <label for="radio2"><img src="images/form/3pax.png"></label></p>

    <p><input type="radio" id="radio3" name="ToggleDivs" onclick="Toggle('Div4-selfdrive');" value="4" class="4paxcar">
    <label for="radio3"><img src="images/form/4pax.png"></label> </p>

    <p><input type="radio" id="radio4" name="ToggleDivs" onclick="Toggle('Div5-selfdrive');" value="5" class="5paxcar">
    <label for="radio4"><img src="images/form/5pax.png"></label></p>
</div>

<?php
if(isset($_POST['ToggleDivs']))
{
    if($_POST['ToggleDivs'] = '2')
    {
        echo "2 PAX";
    }   
    elseif($_POST['ToggleDivs'] = '3')
    {   
        echo "3 PAX";
    }
    elseif($_POST['ToggleDivs'] = '4')
    {   
        echo "4 PAX";
    }   
    else
    {
        echo "5 PAX";
    }
}
?>

我认为这是IF ELSE STATEMENT ISSUE?但不知怎的,我不能让它发挥作用?


我认为我应该对我想要达到的目标更具体。

[radiobutton-pax1][radiobutton-pax2][radiobutton-pax3][radiobutton-pax4]

[radiobutton-hotel1][radiobutton-hotel2] 

[radiobutton-car1] [radiobutton-car2] [radiobutton-car3] [radiobutton-car4]    

所以默认情况下,'radiobutton-pax1'&amp; 'radiobutton-hotel1'&amp;默认选择'radiobutton-car1',我已经实现了。

当用户选择'radiobutton-pax1'时,会出现'radiobutton-car1 to 4'。 当用户选择'radiobutton-pax2'时,'radiobutton-car1到4'将出现。 当用户选择'radiobutton-pax3'时,'radiobutton-car2 to 3'将出现。 当用户选择'radiobutton-pax4'时,'radiobutton-car3 to 4'将出现。

我也实现了这一点。问题是检查默认的无线电按钮,假设是每个选择的最低值。例如;

如果选择radiobutton-pax1,则默认选择为radiobutton-car1 如果选择radiobutton-pax2,默认选择将是radiobutton-car1 如果选择radiobutton-pax3,默认选择将是radiobutton-car2 如果选择radiobutton-pax4,则默认选择为radiobutton-car3

这就是我被困住的地方。

2 个答案:

答案 0 :(得分:0)

在PHP中,=运算符是为变量赋值。

您正在寻找比较==运算符,该运算符测试expression1是否等于expression2并将其评估为true或false。

请参阅:

<?php
        if(isset($_POST['ToggleDivs'])){
            if($_POST['ToggleDivs'] == '2'){
            echo "2 PAX";
            }   
            elseif($_POST['ToggleDivs'] == '3'){   
            echo "3 PAX";
            }
            elseif($_POST['ToggleDivs'] == '4'){   
            echo "4 PAX";
            }   
            else{
             echo "5 PAX";
            }
            }
        ?>

http://php.net/manual/en/language.operators.comparison.php

或者,你可能会发现一个switch语句比一长串Else更有用。 E.g:

<?php
  switch($_POST['ToggleDivs']){
    case '2': 
      echo "2 PAX";
      break;
    case '3': 
      echo "3 PAX";
      break;
    case '4': 
      echo "4 PAX";
      break;
    default:
      echo 'error';
      break;
  }

答案 1 :(得分:-1)

您是否尝试过使用==

if($_POST['ToggleDivs'] == '2'){