我在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);
};
});
我希望有人可以帮助我。这引起了数小时的挫折。
答案 0 :(得分:1)
“value:”和值之间有2或3个空字符。仅在第三个条目。这弄乱了json的剩余部分。
所以你应该"value":___"Nicrophorus orbicollis"
<{1}}
很难看到,因为它们不可见,但如果您在文本编辑器中粘贴一行并开始删除字符,您会看到有一些为空(“值”:??“Nicrophorus orbicollis”)。
检查你的php代码吐出的内容。