在许多选择框上显示基于php if语句的div

时间:2014-06-21 07:19:38

标签: javascript php html

这个问题已在其他主题中得到部分回答,但我无法弄清楚完整的代码。基本上我有5个来自选择框,用户从每个框中选择和回答,然后在完成后我想根据答案显示div - 要么自动显示,要么需要按下按钮才能显示。

例如:

If option1 = ans1, option2 = ans1, option3= ans1, option4 = ans1, option5 = ans1 
then show div1 

Else if  option1 = **ans2**, option2 = ans1, option3= ans1, option4 = ans1, option5 =     ans1 then
show div2

Else if  option1 = **ans2**, option2 = **ans2**, option3= ans1, option4 = ans1, option5 = ans1 then
show div3

Else if  option1 = **ans2**, option2 = **ans2**, option3= **ans2**, option4 = ans1, option5 = ans1 then
show div3

....等等

Else if  option1 = **ans3**, option2 = **ans3**, option3= **ans3**, option4 = **ans3**, option5 = **ans3** then
show div3

任何人对这件事的确切方式都有任何想法吗?

非常感谢

布伦特

3 个答案:

答案 0 :(得分:0)

如果我理解的是,当用户选中其中一个复选框时,会显示相应的div?

在PHP中,您必须更改页面:当用户选择一个框时,他必须提交表单,您可以显示相应的div:

echo '<div> ... </div>'

在Javascript中,您的用户无需提交任何表单。 首先将div1,div2等与display:none放在一起。 在你的盒子上处理onChange事件。在你的活动中,将相应div的'display'css选择器更改为'box'或'inline'或任何你想要的。

答案 1 :(得分:0)

用这些逗号,你的意思是什么?逻辑“和”? 如果是的话:

    <?php

    $answer = array(
       1 => "answer1",
       2 => "answer2"
    );
    $options = $_GET['options'];
    switch ($options) {
       case array($answer1,$answer1,$answer1,$answer1):
          echo "<div>div1</div>";
       break;
       case array($answer2,$answer1,$answer1,$answer1):
          echo "<div>div2</div>";
       break;
       case array($answer2,$answer2,$answer1,$answer1):
          echo "<div>div3</div>";
       break;
       case array($answer2,$answer2,$answer2,$answer1):
          echo "<div>div4</div>";
       break;
    }
?>
<form method="post">
   <select name="options[]">
      <option>answer1</option>
      <option>answer2</option>
   </select>
   <br />
   <select name="options[]">
      <option>answer1</option>
      <option>answer2</option>
   </select>
   <br />
   <select name="options[]">
      <option>answer1</option>
      <option>answer2</option>
   </select>
   <br />
   <select name="options[]">
      <option>answer1</option>
      <option>answer2</option>
   </select>
   <br />
</form>

现在,时间问:这是你的功课吗?如果是这样,下次最好不要这样做;)

答案 2 :(得分:0)

您也可以使用jQuery在客户端执行此操作,而无需刷新页面。

您只需在对象数组中定义条件:

conditions = [
    {
        div: '#div1', // div id
        conditions: { // you can have any combination of options
            option1: 'answer1',
            option2: 'answer2'
        }
    },
    {
        div: '#div2',
        conditions: {
            option1: 'answer1',
            option2: 'answer3',
            option3: 'answer2'
        }
    }
];

这是一个演示:http://codepen.io/anon/pen/dLeDr