从下拉列表和更新页面获取数据

时间:2017-01-05 作者:Adil Masoud Qureshi

我有一个简单的网页,带有下拉菜单和一些选项。我想能够得到用户的选择,然后在网页上输出相同的选择。这是我目前掌握的代码。

\\\\Pretty standard code for getting the header and title and <\\div> etc.
<select id="animal" name="animal">                      
  <option value="0">--Select Animal--</option>
  <option value="Cat">Cat</option>
  <option value="Dog">Dog</option>
  <option value="Cow">Cow</option>
</select>
<?php
if($_POST[\'submit\'] && $_POST[\'submit\'] != 0)
{
   $animal=$_POST[\'animal\'];
    location.reload();
}
   print_r($animal);
?>
\\\\Pretty standard code for getting the footer etc.
下拉框显示正常,如下所示。它显示了所有选项,但当我选择一个选项时,什么都不会发生。我要做的是显示所选内容,即本例中的“Cat”。(目前还没有发生)。enter image description here

请引导我,我做错了什么。最终,我希望用下拉列表做其他事情。但如果我能做到这一点,我将了解如何获取数据和更新页面。接下来的步骤相对容易。此外,这段代码也是我的页面模板文件的一部分。如果需要,我可以上传整个代码。

Update: 最终我想做这样的东西。也就是说,根据用户选择的过滤器显示相关帖子(如果有帮助的话)。

2 个回复
最合适的回答,由SO网友:prosti 整理而成

这个怎么样:

<?php

$arr = ["Cat", "Dog", "Cow" ];


if( $_POST[\'animal\']){
   $animal=$_POST[\'animal\'];
   echo $animal;    

}


?>

<form name="f" id="a" method="post" action="">
<select id="animal" name="animal" onchange="this.form.submit()" >                      
  <option value="0">--Select Animal--</option>
  <?php

   foreach ($arr as $a){

    if($a == $animal){
        echo "<option value=\'{$a}\' selected >$a</option>";
    }else{
        echo "<option value=\'{$a}\' >$a</option>";
    }

   }

   ?>

</select>
</form>
注意,您也可以unset 最后是变量,但PHP中也有垃圾收集器。此代码假设您至少使用PHP 5.4+,否则通过$arr = array("Cat", "Dog", "Cow" );

SO网友:AddWeb Solution Pvt Ltd

您可以使用以下方式显示选定值的下拉列表。

<script>
function myFunction() {
  var txt = document.getElementById(\'animal\').value;
  if(txt == \'0\') {
     text = \'You have select animal\';
  }else if(txt == \'Cat\'){
     text = \'<h1>Cat</h1>\'; 
  }else if(txt == \'Dog\'){
     text = \'<h1>Dog</h1>\'; 
  }else if(txt == \'Cow\'){
     text = \'<h1>Cow</h1>\'; 
  }
  document.getElementById(\'demo\').innerHTML = text;
}
</script>
<html>
    <form action="post">
        <select id="animal" name="animal">                      
          <option value="0" onclick="myFunction();">--Select Animal--</option>
          <option value="Cat" onclick="myFunction();">Cat</option>
          <option value="Dog" onclick="myFunction();">Dog</option>
          <option value="Cow" onclick="myFunction();">Cow</option>
        </select>
    </form>
</html>
<p id=\'demo\'></p>
如有任何问题/疑问,请告知我。

相关推荐

使用wp_Dropdown_Categories($args)的输出

请温柔点,我对所有这些编码都是新手!我终于找到了如何获得前端下拉字段,允许我从EDD类别中进行选择(我从Codex中获得):<div class=\"gallery-row\"> <li id=\"categories\"> <h2><?php _e( \'Categories:\' ); ?></h2> <form id=\"category-select\" class=\"category-