0

我在 jQuery UI 1.9.2 中有一个自动完成功能,可以从远程源加载数据。当数据位于标签中的同一文件中时,它可以工作,但是一旦我将它移动到远程数据源,我就不会在框中得到任何建议。我确信 json 是有效的;我已经多次检查它的有效性。我还尝试了该站点上的许多解决方案,但到目前为止还没有运气。

jQuery 代码(已经连接到 jquery-ui-1.9.2.custom.min.js):

$(document).ready(function() {
    $('#q').autocomplete({
        source:'/json.php',
        minLength: 1,
        dataType: 'json',
        focus: function( event, ui ) {
            $('#q').val( ui.item.label );
            return false;
        },
        select: function( event, ui ) {
            $('#q').val( ui.item.label );
            return false;
        }
    })
    .data('ui-autocomplete')._renderItem = function( ul, item ) {
        return $('<li>')
        .append('<a><span class="flabel">'+item.label+'</span><br /><span class="fvalue">'+item.value+'</span></a>').appendTo(ul);
    };
});

我希望有人可以在这里帮助我。这引起了数小时的挫败感。

4

1 回答 1

1

您的“值:”和值之间有 2 或 3 个空字符。仅在第三个条目上。这弄乱了json的其余部分。

所以你有"value":___"Nicrophorus orbicollis"
什么时候应该"value":"Nicrophorus orbicollis"

很难看到,因为它们是不可见的,但是如果您在文本编辑器中粘贴一行并开始删除字符,您会看到那里有一些字符。在文本编辑器中,您还可以将编码更改为 ANSI你会看到这些字符是问号("value":??"Nicrophorus orbicollis")

检查你的 php 代码吐出什么。

于 2013-07-27T02:46:18.373 回答