php - JQuery 自动完成显然可以识别但不显示选择选项

标签 php jquery jquery-ui autocomplete

我在 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 文档:

The local data can be a simple Array of Strings, or it contains Objects for each item in the array, with either a label or value property or both. The label property is displayed in the suggestion menu. The value will be inserted into the input element after the user selected something from the menu.

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

关于php - JQuery 自动完成显然可以识别但不显示选择选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7233316/

相关文章:

php - Zf3 Controller 无法访问位于另一个模块中的模型类表

javascript - php中来自mysql数据库的重复值验证

javascript - 为什么我的 UI/Draggable 'create' 事件被传递了一个空的 'ui' 对象?

javascript - 我怎样才能在一个页面上有多个 jQuery 按钮样式?

javascript - 带有 DataTable 自定义搜索框的 AngularJs

javascript - 如何强制 jQuery UI 对话框再次重绘或触发某些内容强制调整大小

php - Android Volley 错误字符串无法转换为 JSONObject

PHP fatal error 允许内存大小耗尽

javascript - 将外部 JS 链接到 Rails 应用程序

javascript - 文本区域中单词出现的指南