繁体   English   中英

使用JQuery UI自动完成显示不显示结果

[英]Displaying using JQuery UI Autocomplete not displaying results

我正在使用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}
                            });
                                            }

    })
});

您可以从摘要中看到正在返回JSON数据。 但是结果表中未显示任何内容。 看起来应该像JQuery的自动完成例如JQuery的自动完成

浏览器在Firebug中返回的代码段

显示Noyhing是因为您什么也没返回:我认为:您必须在ajax调用中添加e成功函数(我添加了一个成功响应的示例,如果您告诉我们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/ (假设“数据”是返回的json)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM