我正在尝试允许用户搜索我的一个下拉框。
对于下拉列表中的每个选项,我想包括一个标题和一些元关键字来搜索。
这是我的代码:
<select id="part_selection" name="part_selection" multiple>
<repeat group="{{ @parts }}" value="{{ @part }}">
<option value="{{ @part['uid'] }}">{{ @part['title'] }}</option>
</repeat>
</select>
我上面的代码没有包含选项的关键字,因为我无法让它工作。
我的第一个想法是添加一个
<span>
在选项文本内部,带有隐藏样式,因此不会显示,但可以搜索。
<option value="{{ @part['uid'] }}">{{ @part['title'] }} <span style="display: none;">{{ @part['attributes'] }}</span></option>
但这不起作用,因为选项标记不能包含其他标记。
于是我四处寻找解决方案,结果发现
this rather cryptic answer
,简单地说是“使用Select2”。我的服务器上已经安装了Select2,但我不知道它有这个功能,所以我用Select2初始化了select元素。
$('#part_selection').select2({dropdownParent: $('#part_selection').parent(), width: '100%'});
这就是说,我在文档中找不到任何迹象表明这可以搜索隐藏的选项文本,我自己似乎也找不出答案。
我试过的:
//Add data-meta tag to element, saw this somewhere...
<option value="{{ @part['uid'] }}" data-meta"{{ @part['attributes'] }}">{{ @part['title'] }}</option>
除此之外,我完全不知道该尝试什么,我很难通过谷歌搜索找到任何与此相关的东西。
如何在选择框中搜索隐藏的元/描述信息?