【问题标题】:Displaying using JQuery UI Autocomplete not displaying results使用 JQuery UI 自动完成显示不显示结果
【发布时间】:2011-07-27 11:09:32
【问题描述】:

我正在使用 Jquery UI 的自动完成功能,我可以在 Firebug 中看到正确的 JSON 数据。但是,文本框没有返回任何内容。

我的 JavaScript:

$(function() {
        function log( message ) {
            $( "<div/>" ).text( message ).prependTo( "#log" );

        }

        $("#tags").autocomplete({
        source: function(request, response){
                    $.ajax ({
                url: "/projectlist",
                                dataType: "json",
                                data: {style: "full", maxRows: 12, term: request.term}
                            });
                                            }

    })
});

您可以从 sn-p 看到正在返回的 JSON 数据。但是结果表中没有显示任何内容。这应该看起来像 JQuery 自动完成示例 JQuery Autocomplete

【问题讨论】:

    标签: javascript ruby-on-rails-3 jquery-ui jquery-ui-autocomplete


    【解决方案1】:

    显示 Noyhing 是因为我认为您没有返回任何内容:您必须在您的 ajax 调用中添加成功函数(我添加了一个成功响应的示例,如果您告诉我们您的 json 是如何构建的,我可以为您提供更好的帮助。在任何如果你必须返回一个对象数组,每个对象都应该有一个名为“label”的属性和一个名为“value”的属性:

    $("#tags").autocomplete({
        source: function(request, response) {
            $.ajax({
                url: "/projectlist",
                dataType: "json",
                data: {
                    style: "full",
                    maxRows: 12,
                    term: request.term
                },
                success: function(data) {
                    var results = [];
                    $.each(data, function(i, item) {
                        var itemToAdd = {
                            value: item,
                            label: item
                        };
                        results.push(itemToAdd);
                    });
                    return response(results);
    
                }
            });
        }
    });
    

    我在这里设置了一个小提琴:http://jsfiddle.net/nicolapeluchetti/pRzTy/(想象一下'data'是返回的json)

    【讨论】:

    • def project_list list=Project.all.map{|i|i.project_name} arr= [].concat(list.sort{|a,b| a[0]&lt;=&gt;b[0]}).to_json render :json =&gt;arr end
    • 发布浏览器返回的内容
    • 它返回firebug中的值但不显示它。
    • 您发布的 Nicola Peluchetti 的代码有问题
    • missing } after property list [Break On This Error] success: function( data ) {
    猜你喜欢
    • 2015-08-09
    • 2011-10-12
    • 1970-01-01
    • 1970-01-01
    • 2020-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多