JQuery自动完成显然识别但不显示选择选项


JQuery autocomplete apparently recognizing but not displaying select options

我有一个jQuery UI自动完成的问题。我认为它来自源文件(名为places.php的远程文件),但它有点奇怪:这个源是正确的json编码,在它的开始没有空白(我认为这可能是问题,但它不是),当我直接在浏览器中访问它时工作正常。例如,对于术语' u ',它将返回

(places.php)
[{"id":"2","place":"Belgium"},{"id":"1","place":"USA"}]
当我试图用这种形式间接访问数据时,问题就来了:
<label for="the_value" value="">Value</label>
<input type="text" id="the_value" name="the_value" value=""/>         
<input type="hidden" id="the_id" name="the_id" value="default"/>

当用户在' the_value '输入框中输入内容时,应该显示来自places.php的值。相反,滑动面板只打开2到3毫米,什么也不显示…(似乎,即使没有显示任何选项,脚本也能识别出它们是可用的,因为它移动了一点,当没有结果存在时,这不会发生…)。注意:此问题与浏览器无关:在mozilla和IE8中都会出现。javascript代码如下

$(function(){
    $('#the_value').autocomplete({
        source : 'places.php',       
        select : function(event, ui){
            $('#the_id').val(ui.item.id);  
        }
    });
});

任何帮助都将非常感激。提前感谢!

根据jQuery UI文档:

本地数据可以是一个简单的数组字符串,或者它包含数组中每个项目的对象,带有标签或值或者两者兼而有之。建议中显示label属性菜单。该值将插入到用户之后的输入元素中从菜单中选择了一些东西。

如果您将place更改为value,插件将知道在下拉框中显示什么,但您仍然可以在选择处理程序中访问id

来自jQuery的自动完成文档:

本地数据可以是一个简单的数组字符串,或者它包含数组中每个项目的对象,带有标签或值或者两者兼而有之。建议中显示label属性菜单。该值将插入到用户之后的输入元素中从菜单中选择了一些东西。如果只指定了一个属性,两者都可以用。如果只提供值-属性,该值也将用作标签。

基本上它是一个数组,或者如果它是json,它需要有"value"和/或"label",其中value是输入元素中的设置值,label是显示值。如果只有"value"或"label"存在,则两者都使用。