【发布时间】:2016-03-16 10:46:15
【问题描述】:
我有一个多选,我想将其用作搜索框,以便用户可以按类别、事件类型、位置和关键字进行搜索。它的结构如下:
<select name="search-term[]" multiple="multiple">
<optgroup label="Categories">
<option value="category_4">Internal</option>
<option value="category_2">Business</option>
<option value="category_5">External</option>
<option value="category_1">Science</option>
<option value="category_6">Sports and Social</option>
</optgroup>
<optgroup label="Event Types">
<option value="eventtype_2">Meeting</option>
<option value="eventtype_3">Social Activity</option>
<option value="eventtype_4">Sporting Activity</option>
<option value="eventtype_1">Symposium</option>
</optgroup>
<optgroup label="Locations">
<option value="location_2">Office 1</option>
<option value="location_3">Office 2</option>
<option value="location_1">Office 3</option>
</optgroup>
</select>
我已经初始化了 select2,并将 tags 选项设置为 true,如下所示:
$('select').select2({
tags : true,
createTag: function (params)
{
return {
id: 'keyword_' + params.term,
text: params.term,
newOption: true
}
}
});
这允许用户在新选项不存在时输入新选项并满足关键字要求。任何新标签都附加keyword_,以便服务器在提交表单时知道如何处理它们。
一切正常它只会让他们选择现有的选项。例如,如果我搜索Office 1,我可能想要搜索位于办公室 1 的活动,或者我可能想要进行关键字搜索,以便搜索标题中包含办公室 1 的活动。问题是目前我只能选择无法创建新标签的位置选项。有谁知道我如何做到这一点?
【问题讨论】:
标签: javascript jquery select2