我想在我的select2数据项中添加一个文本属性,并能够搜索它。
例如,我有这些数据:
org.eclipse.wb.internal.core.utils.check.AssertionFailedException: Execution flow problem. newinvoicescreen.add(quantitylbl);
expected, but paymentscreen.add(amountlbl);
如果我输入与输入中的description属性值匹配的文本,我希望select2能够找到结果。
有可能吗?
提前谢谢。
答案 0 :(得分:1)
解决方案是创建一个自定义匹配器并像这样使用它
$('.select2-typeahead').select2
({
data :
[
{ id : 1, text : 'Item 1', description : 'Long text description for item 1' },
{ id : 2, text : 'Item 2', description : 'Long text description for item 2' },
{ id : 3, text : 'Item 3', description : 'Long text description for item 3' },
],
matcher : function(params, data, item)
{
if ($.trim(params) === '')
{
return data;
}
if(data.toLowerCase().indexOf(params.toLowerCase()) > -1 || item.description.toLowerCase().indexOf(params.toLowerCase()) > -1)
{
return data;
}
return null;
}