如何在网址中将多选所选选项作为一个参数发布 - Bootstrap Multiselect

时间:2015-05-08 07:01:38

标签: javascript jquery twitter-bootstrap multi-select 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

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

感谢您的帮助!

2 个答案:

答案 0 :(得分:4)

您可以将选择重命名为 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 作为具有多个选定选项的数组。

答案 1 :(得分:2)

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

{
    "Version": {
        "Major": 1,
        "Minor": 1,
        "Build": -1,
        "Revision": -1,
        "MajorRevision": -1,
        "MinorRevision": -1
    },
    "Content": {
        "Headers": [
            {
                "Key": "Content-Type",
                "Value": [
                    "application/octet-stream"
                ]
            },
            {
                "Key": "Content-Disposition",
                "Value": [
                    "attachmentx; filename=\"samplefile.docx\""
                ]
            }
        ]
    },
    "StatusCode": 200,
    "ReasonPhrase": "OK",
    "Headers": [],
    "RequestMessage": null,
    "IsSuccessStatusCode": true
}

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

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