PHP动态选择框使用$ _POST?

时间:2013-11-21 14:14:49

标签: php wordpress drop-down-menu

我想知道是否有类似于下面代码的方式来使用'条件'选择框。我尝试了一些jquery方法,但是因为我使用wordpress而真的卡住了,这应该是一个搜索框,所以它让我感到困惑。

<form name="main" method="post">
  <select name="currency-select">
    <option value="default">Currency</option> 
    <option value="a">U.S Dollars (USD)</option> 
    <option value="b">Euros (EUR)</option> 
    <option value="c">British Pounds (GBP)</option> 
  </select>
</form>

<form name="child">
  <select name="currency-child">

    <?php if($_POST['currency-select'] == "a"): >
      <option value="1">price</option> 
      <option value="2">100</option> 
      <option value="3">200</option> 
      <option value="4">300</option> 
    <?php endif; ?>

    <?php if($_POST['currency-select'] == "b"): >
      <option value="5">price</option> 
      <option value="6">50</option> 
      <option value="7">60</option> 
      <option value="8">70</option> 
    <?php endif; ?>

    <?php if($_POST['currency-select'] == "c"): >
      <option value="9">price</option> 
      <option value="10">130</option> 
      <option value="11">260</option> 
      <option value="12">390</option> 
    <?php endif; ?>

  </select>
</form>

更新:语法错误已修复

1 个答案:

答案 0 :(得分:0)

只要表单没有提交,PHP就不会对你的表单做任何事情,你的html中没有提交按钮,所以你的PHP脚本中不会设置这些值。 /> 我建议你jQuery 我为您编写了下面的代码,但您必须为html元素设置新属性,并在<div>附加id="wrapper" - &gt; <div id="wrapper">
如果您未附加wrapper,请使用$('#wrapper').on('change', 'form#main', function() {更改$(document).on('change', 'form#main', function() { 但是在大码中,我建议#wrapper而不是document

<强> CODE:
在页面<head>中添加以下行:

//jQuery
<script type="text/javascript" src="../jQuery/jquery-1.10.2.min.js"></script>

<script type="text/javascript" language="javascript">
    $(document).ready(function() {

        $('#wrapper').on('change', 'form#main', function() {
            if ( $('#a').is(':selected') ) {
                $('option.remove').remove();
                $('#child1').append('<option value="1" class="remove">price</option>');
                $('#child1').append('<option value="2" class="remove">100</option>');
                $('#child1').append('<option value="3" class="remove">200</option>');
                $('#child1').append('<option value="4" class="remove">300</option>');

            }
            else if ( $('#b').is(':selected') ) {
                $('option.remove').remove();
                $('#child1').append('<option value="1" class="remove">price</option>');
                $('#child1').append('<option value="6" class="remove">50</option>');
                $('#child1').append('<option value="7" class="remove">60</option>');
                $('#child1').append('<option value="8" class="remove">70</option>');
            }
            else if ( $('#c').is(':selected') ) {
                $('option.remove').remove();
                $('#child1').append('<option value="9" class="remove">price</option>');
                $('#child1').append('<option value="10" class="remove">130</option>');
                $('#child1').append('<option value="11" class="remove">260</option>');
                $('#child1').append('<option value="12" class="remove">390</option>');

            }
            else if ( $('#default').is(':selected') ) {
                $('option.remove').remove();//reset every thing 
            }

    });

  });
</script>


Body-html元素 -

<body>
<div id="wrapper">
<form name="main" method="post" action="#" id="main">
  <select name="currency-select">
    <option value="default" id="default">Currency</option> 
    <option value="a" id="a">U.S Dollars (USD)</option> 
    <option value="b" id="b">Euros (EUR)</option> 
    <option value="c" id="c">British Pounds (GBP)</option> 
  </select>
</form>

<form name="child" id="child" method="post" action="#">
  <select name="currency-child" id="child1">
  </select>
</form>
</div>
</body>