【问题标题】:Values submitted by a form with `multiple` in `bootstrap-select`由“bootstrap-select”中的“multiple”表单提交的值
【发布时间】:2014-10-05 16:42:02
【问题描述】:

如果生成带有bootstrapbootstrap-select 的表单:

<form action="handle.php" method="post">
    <select name="pids" class="selectpicker" multiple>
        <option value="1">A</option>
        <option value="2">B</option>
        <option value="6">C</option>
    </select>
</form>

并且一个选择所有或多个项目,只有最后一个选择value的项目被发布到handle.php页面。

handle.php

<?php
var_dump($_POST);
?>

结果:

array(1) { ["pids"]=> string(1) "6" } 

如何检索所有选定的项目?

【问题讨论】:

    标签: javascript php twitter-bootstrap bootstrap-select


    【解决方案1】:

    最有可能的情况是您需要将名称设置为 pids[](注意方括号)方括号定义一个数组而不是单个值。

    <select name="pids[]" class="selectpicker" multiple>
    

    【讨论】:

    • 是的,就是这样。谢谢。我已提出拉取请求以更新 bootstrap-select 的文档。
    【解决方案2】:
    <select name="pids[]" class="selectpicker" multiple>
    

    我不确定,但类似:)

    【讨论】:

      【解决方案3】:

      只是一个简短的说明......即使这个是两年后被接受的......

      为此,您必须 POST 到一个文件(这使得它重新加载)。我试了 5 个小时才弄明白。

      但是,如果你想使用 Ajax...那么你可以通过

      发送所有值
      var values_from_list=$('#id_of_the_field').val();
      

      它会将所有内容发送到小 ajax 数组, 在 PHP 中,您可以对其进行 json_encode 编码并将其保存到您的数据库中。

      希望它能节省一些人的时间。

      【讨论】:

      • 您可以通过AJAX发送表单,通过序列化它,您不必指定表单中的每个输入。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-21
      • 2017-04-16
      • 2015-12-09
      • 1970-01-01
      相关资源
      最近更新 更多