在 php 中获取引导下拉列表的值

新手上路,请多包涵

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

 <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 中获取所选 <li> 的值。以下代码不起作用:

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

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

谢谢。

原文由 Somename 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 445
2 个回答

下拉菜单与 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”输入值将是最后选择的下拉选项。

原文由 Ben 发布,翻译遵循 CC BY-SA 3.0 许可协议

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

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;
}

原文由 Syed Muneeb Ul Hasan 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题