Php 单选按钮以显示另一组表单

Php 单选按钮以显示另一组表单,php,javascript,forms,radio,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

我想实现一种形式,当选择一个单选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";
    }
}
?>
因此,默认情况下,“radiobutton-pax1”和“radiobutton-hotel1”和“radiobutton-car1”是默认选择的,我已经实现了这一点

当用户选择“radiobutton-pax1”时,“radiobutton-car1至4”将出现。 当用户选择“radiobutton-pax2”时,“radiobutton-car1至4”将出现。 当用户选择“radiobutton-pax3”时,“radiobutton-car2至3”将出现。 当用户选择“radiobutton-pax4”时,“radiobutton-car3至4”将出现

我也做到了这一点。问题是默认选中的单选按钮假定是每个选项中最低的。比如,

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

这就是我被卡住的地方。

你试过使用==

在PHP中,=运算符用于为变量赋值

您正在寻找comparison==运算符,该运算符测试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";
            }
            }
        ?>
或者,您可能会发现switch语句比一长串Else if语句更有用。例如:

<?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;
  }

它显示默认的错误。即使我改为2人左右,它仍然会显示默认值,这是因为您的POST数组为空。它将启动switch语句,并且与任何情况都不匹配,最后在默认部分显示内容。@smartans我假设您的php代码位于不同的页面上,对吗?另外,请确保检查isset$\u POST['ToggleDivs']是否返回值。如果您试图通过上述代码实现您所说的内容,那么它将不起作用。首先,单选按钮不会触发您的表单提交,因为您的值不会被发布。其次,比较运算符在php代码中设置为赋值运算符。请将您的表格与密码一起发送给我们,以便我们可以为您提供帮助。
<?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";
            }
            }
        ?>
<?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;
  }