Select2 with custom" text"财产名称

时间:2014-09-19 05:13:49

标签: javascript jquery-select2

我正在尝试将Select2文字的不同属性名称一起使用。我有一组具有名称属性的对象。我试图直接在select2中使用该对象,如下所示

HTML

<div id="container">
    <input type="hidden" id="selectElement"/>
</div>

的Javascript

function format(item) {
    return item.name;
};

$("#selectElement").select2({
    placeholder: 'Select ...',
    data: [{id:0, name: "Home"},{id:1, name: "About Us"},{id:2, name: "Reach Us"}],
    formatResult: format,
    formatSelection: format,
});

如此Fiddle所示,选项会正确填充。但是当我们输入一些匹配任何现有选项的文本时,select2会显示找不到匹配,尽管有匹配。

我在这里缺少什么,导致默认匹配不起作用?

1 个答案:

答案 0 :(得分:2)

您似乎还需要重新定义matcher功能:

$("#selectElement").select2({
    placeholder: 'Select ...',
    data: [{id:0, name: "Home"},{id:1, name: "About Us"},{id:2, name: "Reach Us"}],
    formatResult: format,
    formatSelection: format,
    matcher: function(term, text, option) {
        return option.name.toUpperCase().indexOf(term.toUpperCase())>=0;
    }
});

演示:http://jsfiddle.net/dfsq/hevhuxpo/4/