由“bootstrap-select”中的“multiple”表单提交的值

Posted

技术标签:

【中文标题】由“bootstrap-select”中的“multiple”表单提交的值【英文标题】:Values submitted by a form with `multiple` in `bootstrap-select` 【发布时间】: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"  

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

【问题讨论】:

【参考方案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发送表单,通过序列化它,您不必指定表单中的每个输入。

以上是关于由“bootstrap-select”中的“multiple”表单提交的值的主要内容,如果未能解决你的问题,请参考以下文章

bootstrap-select 从关闭状态重新打开时的空选项

python测试开发django-168.jquery的clone()后 bootstrap-select 中 selectpicker 下拉框选择无效问题解决

带 masm 的寄存器 edx::eax 中的 mul 和内存分配

带 masm 的寄存器 edx::eax 中的 mul 和内存分配

python测试开发django-151.bootstrap-select下拉框

Bootstrap-select 插件:如何避免闪烁