0

I want to achieve a form whereby when a radio-A is selected, it will show another set of radio buttons.

我已经制作好了表格

<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 语句问题?但不知何故我不能让它工作?


我认为我应该更具体地说明我想要实现的目标。

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

[radiobutton-hotel1][radiobutton-hotel2] 

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

所以默认情况下,我已经实现了默认选择“radiobutton-pax1”和“radiobutton-hotel1”和“radiobutton-car1”。

当用户选择“radiobutton-pax1”时,会出现“radiobutton-car1 to 4”。当用户选择“radiobutton-pax2”时,会出现“radiobutton-car1 to 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

这就是我卡住的地方。

4

2 回答 2

0

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

您正在寻找比较运算符==,它测试表达式 1 是否等于表达式 2,并将其评估为真或假。

请参见:

<?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 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;
  }
于 2013-06-26T10:04:16.907 回答
-1

你试过用==吗?

if($_POST['ToggleDivs'] == '2'){
于 2013-06-26T10:00:36.883 回答