jQuery自动完成远程源无法正常工作

时间:2013-07-27 02:00:09

标签: jquery jquery-ui autocomplete

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

我希望有人可以帮助我。这引起了数小时的挫折。

1 个答案:

答案 0 :(得分:1)

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

所以你应该"value":___"Nicrophorus orbicollis" <{1}}

很难看到,因为它们不可见,但如果您在文本编辑器中粘贴一行并开始删除字符,您会看到有一些为空(“值”:??“Nicrophorus orbicollis”)。

检查你的php代码吐出的内容。