【问题标题】:Jquery tokeninput, first search doesn't workJquery tokeninput,第一次搜索不起作用
【发布时间】:2013-12-11 10:17:35
【问题描述】:

我对 tokeninput 有奇怪的问题...

    $("[name='business_list']").tokenInput( {{businessList|raw}}, {
        hintText: "{{ 'business.findBusiness'|trans }}",
        noResultsText: "{{'no_results'|trans({},'app')|capitalize}}",
        searchingText: "{{'searching'|trans({},'app')|capitalize}}",
        prePopulate: {{businesses|raw}},
        onReady: function(){
            $("[name='business_list']").siblings(".token-input-list").find("#token-input-").focus();
        },
        onResult: function(items){
            items.push({
                value: "aaa",
                label: "<span>aaa</span>"
            })

            console.log(items);
            //return items;
        }
    });

它的工作原理是这样的: 例如,当我第一次输入“a”时,它显示“没有结果”(但在控制台日志中我可以看到他找到了 7 个对象)。当我删除“a”并再次输入时,它工作正常。但是......当我输入例如'z'时,它会再次相同。它显示“没有结果”,但我可以看到它找到了 4 个对象,在删除并再次输入后它显示它们...... 有什么想法吗?

没有 'onResult' 函数它可以正常工作,但我想将一个对象添加到任何结果中,但是这样它就不能正常工作了......

【问题讨论】:

  • 我假设return items 在您的实际代码中没有被注释掉!!你有一个可以分享的例子,或者你可以创建一个同样的 jsfiddle 吗?这是一个有趣的问题,我看不出有什么明显的错误!
  • 我几个小时前解决了这个问题,我已经用正确的代码发布了答案。
  • 问题是缺少id 字段吗?有趣...新的我!感谢分享!
  • 令牌输入只是不太友好xD

标签: jquery jquery-tokeninput


【解决方案1】:

问题已解决,代码:

$("[name='business_list']").tokenInput( {{businessList|raw}}, {
            hintText: "{{ 'business.findBusiness'|trans }}",
            noResultsText: "{{'no_results'|trans({},'app')|capitalize}}",
            searchingText: "{{'searching'|trans({},'app')|capitalize}}",
            prePopulate: {{businesses|raw}},
            onReady: function(){
                $("[name='business_list']").siblings(".token-input-list").find("#token-input-").focus();
            },
            onResult: function(items){
                var value = $('#token-input-').val();
                items.push({
                    label: "<span class='new-business'><img src='{{ asset('bundles/cloudcrm/images/business.png') }}' style='margin-right: 5px;'>{{ 'deals.newDeal.addBusiness'|trans({},'crm')|capitalize }}<strong>" + " " + value + "</strong></span>",
                    id: "new",
                    value: value
                });
                return items;
            },
            onAdd: function(item){
                if( $(item.label).hasClass("new-business") == true ){
                    $("[name='business_list']").tokenInput("remove", item);
                    $(".modal-business-add").modal('show');
                }
            }
        });

【讨论】:

    猜你喜欢
    • 2017-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多