在Select2中,formatSelection和formatResult如何工作?

GBC*_*GBC 4 html javascript arrays jquery-select2

我正在使用Select2(http://ivaynberg.github.io/select2/)将表单的输入字段(假设它的id是topics)处于标记模式,使用现有标记列表(允许用户)选择一些远程数据提供的标签或创建新标签.

array(list.json)是从我的服务器正确获取的.它有id和text字段,因为Select2似乎需要这些字段.它看起来像这样:

[ { id: 'tag1', text: 'tag1' }, { id: 'tag2', text: 'tag2' }, { id: 'tag3', text: 'tag3' } ]
Run Code Online (Sandbox Code Playgroud)

HTML文件中的脚本如下所示:

$("#topics").select2({
    ajax: { 
        url: "/mypath/list.json",
        dataType: 'json',
        results: function (data, page) { 
        return {results: data};
        },   
    }
});
Run Code Online (Sandbox Code Playgroud)

但输入字段显示"搜索",这意味着它无法使用该数组进行标记支持.

在选择二剧本,我知道我必须定义formatSelection和formatInput,但我没有得到他们应该如何在我的情况下工作,尽管我已阅读选择二文档...谢谢你的帮助!

Vin*_*243 5

您需要添加此处说明的功能.在你的例子中:

function format(state) {

    return state.text;
}
Run Code Online (Sandbox Code Playgroud)

  • 在Select2 4.*中,"格式化程序"已重命名为**templateSelection**和**templateResult**,并且它们的签名也已更改.请参阅https://select2.github.io/announcements-4.0.html (4认同)