以下是我的代码片段: http://jsfiddle.net/natatkinson/xbWEb/
使用Javascript:
$(document).ready(function () {
$("#tags").select2({
maximumSelectionSize: 3
});
});
HTML:
<form name="form1" id="form1" action="" method="GET">
<fieldset>
<legend>Shoe Info</legend>
<dl> <dt>Name:</dt>
<dd>
<input type="text" name="name" id="name" size="40" placeholder="Shoe name" required autofocus>
</dd>
</dl> <dt>Tags:</dt>
<dd>
<select multiple="" name="tags" id="tags" style="width:100%;">
<option value="0">Select Tags</option>
<option value="2">racing flat</option>
<option value="3">track spikes</option>
<option value="1">trainer</option>
</select>
</dd>
</dl>
</fieldset>
<p class="submit-buttons">
<input type="submit" class="button1" name="submit" id="submit" value="Add Shoes" />
</p>
提交的所有内容都是1个值,而不是文档所说的逗号分隔列表。
答案 0 :(得分:78)
您必须使用[]作为多个值包含的表单控件的名称。 在底部正确使用:
<select multiple="" name="tags[]" id="tags" style="width:100%;">
答案 1 :(得分:2)
我认为你无法直接从select2获取字符串数据,你应该添加一个隐藏的输入,并将隐藏的输入值作为参数提交。
<input type="hidden" name="tags" id="tags"></input>
<select multiple="" style="width:100%;" onchange="changeSelect(event)">
<option value="0">Select Tags</option>
<option value="1">trainer</option>
</select>
function changeSelect(event){
var select2Value = $(event.target).val();
$("tags").val(select2Value);
}