【问题标题】:Get values of bootstrap dropdown in php在php中获取引导下拉列表的值
【发布时间】:2016-08-11 15:42:14
【问题描述】:

我创建了一个包含多个字段的表单,例如输入类型名称、复选框和下拉菜单。我的下拉代码:

<div class="container">
<form action="selecttest.php" method="post">
<div class="dropdown">
<div class="dropdown-toggle somename1" data-toggle="dropdown"id="menu1"></div>
  <ul class="dropdown-menu myclass numberom1" aria-labelledby="menu1" name="thenumbers">
      <li value="one">One</li>
      <li value="two">Two</li>
      <li value="three">Three</li>
      <li value="four">Four</li>
      <li value="five">Five</li>
  </ul>

</div>
<input type="submit" name ="submit"/>

我想在selecttest.php 中获取选中的&lt;li&gt; 的值。以下代码不起作用:

$val = $_POST["thenumbers"];
    echo "the Value selected is ".$val;

如何获取 php 页面中下拉菜单的值?上面提到的表单中还有其他元素,所以我不能使用 jquery onclick 事件。这是一个非 ajax 形式。

谢谢。

【问题讨论】:

    标签: php html twitter-bootstrap


    【解决方案1】:

    下拉菜单与select 输入不同。

    在表单中,select 输入的语法(如您的,在 Bootstrap 中)将是:

    <label for="select_1">Select list:</label>
    <select class="form-control" id="select_1" name="thenumbers">
        <option value="one">One</option>
        <option value="two">Two</option>
        <option value="three">Three</option>
        <option value="four">Four</option>
    </select>
    

    只要select 有一个属性name 的值为“thenumbers”,并且select 在正在提交的表单内,您就可以在PHP 中获取所选元素的值与:

    $val = $_POST["thenumbers"];
    echo "the Value selected is ".$val;
    

    要将 Bootstrap 下拉菜单用作虚假 select,您可以使用 JavaScript。这是一个使用 jQuery 的示例:

    HTML

    <!-- Create dropdown and add specific class '.thenumbers' to ul element -->
    <div class="dropdown">
        <div class="dropdown-toggle somename1" data-toggle="dropdown"id="menu1"></div>
        <ul class="dropdown-menu myclass numberom1 thenumbers" aria-labelledby="menu1" name="thenumbers">
            <li value="one">One</li>
            <li value="two">Two</li>
            <li value="three">Three</li>
            <li value="four">Four</li>
            <li value="five">Five</li>
        </ul>
    </div>
    
    <!-- Create a hidden input -->
    <input type='hidden' name='thenumbers'>
    

    jQuery

    $(function(){
        //Listen for a click on any of the dropdown items
        $(".thenumbers li").click(function(){
            //Get the value
            var value = $(this).attr("value");
            //Put the retrieved value into the hidden input
            $("input[name='thenumbers']").val(value);
        });
    });
    

    这样(只要隐藏输入在表单内),当表单提交时,“thenumbers”输入值将是最后选择的下拉选项。

    【讨论】:

    • 所以我无法将 Bootstrap 中的下拉菜单用作表单元素吗?
    • 并非如此 - 您可以使用 JavaScript 根据用户单击下拉项来更改输入,但您也可以使用 CSS 设置 select 框的样式,使其看起来像菜单(这很更干净,更容易!)
    • @Somename 我添加了一个快速的临时 JavaScript 解决方案。
    • 我将通过创建一个包含对象的数组来尝试多项选择。谢谢你的逻辑。干杯!!!
    • 但我们不应该忘记在 html 表单中添加名为 thenumbers 的隐藏输入。
    【解决方案2】:

    您的表单没有提交,因为没有提交按钮。试试这个代码。

    HTML 代码

    <form action="selecttest.php" method="post">
    <div class="dropdown" >
    
    <select class="form-control" name="thenumbers">
      <option value="one">One</option>
      <option value="two">Two</option>
      <option value="three">Three</option>
      <option value="four">Four</option>
    </select>
    
    </div>
    
     <input type="submit" name ="send"/>
    
    </form>
    

    PHP 代码

    if(isset($_POST['send']))
    {
    $val = $_POST["thenumbers"];
    echo "the Value selected is ".$val;
    }
    

    【讨论】:

      【解决方案3】:

      使用Input group-bootstrap 时,您可以通过编写如下代码来获取 PHP 页面中的值:

      HTML/引导程序

      <select name = "thenumbers" class="btn btn-outline-secondary dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
          <option value ="one" name ="one">One</option>
          <option value ="two" name ="two">Two</option>
          <option value ="three" name ="three">Three</option>
      </select>
      <input class="form-control border-secondary py-2" name="searchterm" type="text" >
           <div class="input-group-append">
                 <button class="btn btn-primary" name="submit" type="submit" value ="su       bmit">
                      <i class="fa fa-search"></i>
                 </button>
           </div>
      

      PHP 代码:

      <?php
       if(isset($_POST['submit']) && !empty($_POST['searchterm'])){
              if(isset($_POST['thenumbers']){
                  $val = $_POST['thenumbers'];
                  echo $val;
               }
         }
      

      【讨论】:

        猜你喜欢
        • 2018-05-20
        • 1970-01-01
        • 1970-01-01
        • 2020-08-29
        • 1970-01-01
        • 1970-01-01
        • 2012-07-27
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多