我正在使用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
)
感谢您的帮助!
答案 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);