【问题标题】:typeahead 0.11.1 remote does not showing returned datatypeahead 0.11.1 远程不显示返回的数据
【发布时间】:2017-06-15 05:36:44
【问题描述】:

我正在使用我的 MVC 应用程序实现最新版本的预输入。情况是,我得到了 json 结果,结果很好且经过验证。

在 typeahead 的返回部分,我放了一个警报,我可以看到所有返回的结果都在那里。但是在显示方面,什么都没有显示。控制台中也没有错误消息。 XHR 完全没问题。

坦率地说,我不知道为什么会这样?你能给我任何想法吗..提前谢谢

使用的预输入版本:0.11.1

以下是我的代码..

<div class="tt-container">
    <input  id="customer" name="customer" type="text" value="" class="form-control" required />
</div>

Typeahead 声明

var customers = new Bloodhound({
                datumTokenizer: function (d) { return Bloodhound.tokenizers.whitespace(d.value); },
                queryTokenizer: Bloodhound.tokenizers.whitespace,
                remote: {
                    url: '/api/customer?query=%QUERY',
                    wildcard: '%QUERY',
                    filter: function(customers) {
                        //debugger;
                        return $.map(customers,function(user) {
                            //debugger;
                            alert(user.customerName);
                            return {
                                value: user.customerName
                            };
                        });
                    }
                },
                ajax: {
                    type: "GET",
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    beforeSend: function(jqXhr, settings) {
                        var authHeaders;
                        // pull apart jqXHR, set authHeaders to what it should be
                        //debugger;
                        jqXhr.setRequestHeader('Access-Control-Allow-Origin', '*');
                    }
                }
            });

            customers.initialize();

            $('#customer').typeahead({
                    minLength: 3,
                    highlight: true
                },
                {
                    name: 'customers',
                    displayKey: 'value',
                    source: customers.ttAdapter()
                });

【问题讨论】:

    标签: asp.net-mvc typeahead.js


    【解决方案1】:

    我深入研究了这个问题,发现 typeahead 几乎没有未解决的问题,这就是其中之一。所以我决定使用 jquery autocomplete,它具有 typeahead 的所有功能。

    【讨论】:

    • 实际上,typeahead 现在仅由社区在github.com/corejavascript/typeahead.js 的不同存储库中维护如果您还没有真正使用 jQuery Autocomplete 实现,您可以切换到这个版本来查看。它适用于我的用例中的远程源。
    • 我明白了……是的,你是对的……这不是我下载 typeahead 的来源……但无论如何,jquery 自动完成功能也很好,并且与我的服务相同需要
    • 我明白这一点。因此,请将当前答案标记为已解决。 :D
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    相关资源
    最近更新 更多