具有相同valueField但不同labelField的Selectize.js远程数据源项目无法正确显示

时间:2015-08-20 17:54:49

标签: javascript jquery selectize.js

有一个已知issue selectize.js,如果某个项具有相同的valueField,则只会显示第一个值。这也适用于远程数据源。

例如:

- value: 1, label: Apple
- value: 1, label: Steve
- value: 2, label: Google
- value: 2, label: Eric

如果我搜索Google,它会按预期给出一个结果。但如果我现在搜索埃里克;因为已经显示了2的值,所以不会显示。如果我刷新页面然后搜索Eric就可以了;但现在我无法搜索谷歌

这是我的代码:

$('#supplier').selectize({
            valueField: 'value',
            labelField: 'label',
            searchField: 'label',
            options: [],
            create: false,
            render: {
                option: function(item, escape) {
                    return '<div class="customer-badge suggestions">' +
                                '<div class="avatar">' +
                                    '<img src="' + escape(item.avatar) + '" alt="">' +
                                '</div>' +
                                '<div class="details">' +
                                    '<a href="#" class="name">' +
                                        escape(item.label) +
                                    '</a>' +
                                    '<span class="email">' +
                                        escape(item.email) + 
                                    '</span>' +
                                '</div>' +
                            '</div>';
                }
            },

            load: function(query, callback) {
                if (!query.length) return callback();
                $.ajax({
                    url:'<?php echo site_url("receivings/supplier_search");?>'+'?term='+encodeURIComponent(query),
                    type: 'GET',
                    error: function() {
                        callback();
                    },
                    success: function(res) {
                        res = $.parseJSON(res);
                        callback(res);
                    }
                });
            }
        });

我尝试了以下内容:

  1. 使用https://github.com/BlueBayTravel/selectize.js/tree/allow-duplicates替换整个代码,并设置选项duplicate: truemode: "multi"。这并没有改变行为。我认为他们可能只针对本地数据源做了解决方案。

  2. 试图找出关于issue page的讨论;但这是旧版本;我尽了最大努力,却无法让它发挥作用。

  3. 此时我将采取任何脏补丁,因为这是一个主要问题,我不知道为什么没有以任何方式解决这个问题

0 个答案:

没有答案