如何 post 在 url - Bootstrap Multiselect 中将所选选项作为一个参数进行多选

How to post multiselect selected options as one param in url - Bootstrap Multiselect

我正在使用 bootstrap-multiselect 并且需要提交带有选定选项的表单。

但是在提交表单时,url 变成这样 ....&sites=1&sites=2&sites=3 而我需要它是 ...&sites=1,2,3

这是我的代码:

<select id="sites" name="sites" class="form-control" multiple="multiple">
    <option value="1">Site 1</option>
    <option value="2">Site 2</option>
    <option value="3">Site 3</option>
</select>

JS:

$('button[type=submit]').click(function () {

      var text = $('#sites').val()
      //I have the list in `text` as 1,2,3 which need to in url
      //do the rest and continue submit

如何 POST 在 url 中选择这些值(即 url/sites=1,2,3 而不是 url/sites=1&sites=2&sites=3

感谢您的帮助!

我是通过隐藏字段完成的。

var text = $('#sites').val();
$('#sites_hidded').val(text);

with html(从 select 中删除了名称属性,因此它不会随表单一起提交)

<select id="sites" class="form-control" multiple="multiple">
    <option value="1">Site 1</option>
    <option value="2">Site 2</option>
    <option value="3">Site 3</option>
</select>
<input type="hidden" name="sites" id="sites_hidden">

您可以将 select 重命名为 sites[]

<select id="sites" name="sites[]" class="form-control" multiple="multiple">
    <option value="1">Site 1</option>
    <option value="2">Site 2</option>
    <option value="3">Site 3</option>
</select>

这将通过提交发送到服务器,没有任何 js 一个变量 sites 作为具有多个 selected 的数组选项。