3

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

但是,在提交表单时,网址会像这样....&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

如何在 url 中发布这些选定的值(即url/sites=1,2,3,而不是url/sites=1&sites=2&sites=3

谢谢你的帮助!

4

2 回答 2

8

您可以将选择重命名为站点[]

<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 一个变量站点作为具有多个选择选项的数组。

于 2016-07-27T16:07:06.730 回答
2

我通过使用隐藏字段完成了它。

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

使用 html(从 select 中删除了名称 attr,因此它不会与表单一起提交)

<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">
于 2015-05-14T14:53:29.007 回答