按ID和Select2中的文本进行过滤

时间:2015-06-24 06:51:47

标签: jquery-select2

var data = [{ id: 11-07, text: 'enhancement' }, { id: 11-04, text: 'bug' }, 
            { id: 11-08, text: 'duplicate' }, { id: 11-09, text: 'invalid' }, 
            { id: 11-10, text: 'wontfix' }];

$(".js-example-data-array").select2({
data: data
})
<select class="js-example-data-array"></select>

我想用id和text来过滤select2。默认情况下,它按文本过滤。 我如何按ID过滤?

2 个答案:

答案 0 :(得分:1)

您必须使用&#34; matcher&#34;。

$(".js-example-data-array").select2({
  data: data,
  matcher: function(term, text, option) {
    return text.toUpperCase().indexOf(term.toUpperCase())>=0 || option.val().toUpperCase().indexOf(term.toUpperCase())>=0;
  }
})

它将返回按文字或id过滤的结果。

答案 1 :(得分:0)

使用自定义匹配器。使用自定义函数添加属性“matcher”,以便您可以将其与自己匹配。有关说明,请查看examples page。 要匹配id,您需要使用“复杂匹配器”。有关详细信息,请访问here