【问题标题】:JQuery autocomplete apparently recognizing but not displaying select optionsJQuery自动完成显然识别但不显示选择选项
【发布时间】:2011-11-06 04:38:39
【问题描述】:

我遇到了 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);  
        }
    });
});

任何帮助将不胜感激。提前致谢!

【问题讨论】:

  • 您确定您的 JSON 文件是以“application/json”内容类型发送的吗?
  • 您好 mblase75,是的,我做到了。谢谢你的评论

标签: php jquery jquery-ui autocomplete


【解决方案1】:

来自jQuery's autocomplete documentation

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

基本上它是一个数组,或者如果它是 json,它需要有“value”和/或“label”,其中 value 是输入元素中的设置值,label 是显示的值。如果仅存在“值”或“标签”,则它们都用于。

【讨论】:

    【解决方案2】:

    根据 jQuery UI 文档:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-08-11
      • 2019-05-19
      • 2021-12-05
      • 1970-01-01
      • 2011-09-05
      • 2011-09-19
      • 1970-01-01
      相关资源
      最近更新 更多