【问题标题】:jquery Autocomplete plugin working with older versions of the browsers but not new ones?jquery Autocomplete 插件适用于旧版本的浏览器但不是新版本的浏览器?
【发布时间】:2011-09-28 11:22:31
【问题描述】:

我正在使用 jquery Autocomplete 插件,它在旧版本的浏览器中运行良好,但在新版本的浏览器中它没有显示所有建议。我正在使用 JSON 来解析数据。json 或 jquery 插件是否存在兼容性问题?

【问题讨论】:

  • 如果您链接到您正在使用的插件会有所帮助,因为那里有大量的自动完成功能。 :)
  • 一些代码有助于理解根本原因。 json 是从服务器返回结果的标准方式,它与 jQuery 自动完成功能很好地集成。
  • 如果它在较旧的浏览器中有效,但在较新的浏览器中无效,则问题可能出在您的代码中(或者可能使用非常旧的 jQuery/jQuery UI)。
  • @epascarello 我正在使用 jquery-ui-1.8.14.autocomplete.min.js 插件
  • @bazmegakapa 我只使用最新版本的 jquery

标签: javascript jquery jquery-ui-autocomplete


【解决方案1】:

没有看到您的 JSON,我猜 JSON 无效。

我会假设您的 JSON 缺少键周围的双引号。

[ 
    { 
        id: "Ficedula hypoleuca", 
        label : "Eurasian Pied Flycatcher", 
        value : "Eurasian Pied Flycatcher" 
    },
    ...
]

要成为有效的 JSON,它需要在键周围加上双引号

[ 
    { 
        "id": "Ficedula hypoleuca", 
        "label": "Eurasian Pied Flycatcher", 
        "value": "Eurasian Pied Flycatcher" 
    },
    ...
]

旧版浏览器不支持原生JSON.parse()。 jQuery 在可用时使用本机 JSON 解析方法。当涉及到 JSON 语法时,本机解析非常严格。

【讨论】:

  • 我使用了正确的符号,如上所示,我会解释清楚我的问题。例如,如果我输入的关键字“an”或“ge”应该与“anzahl”、“general”之类的词匹配,那么它不会发生,firebug 会显示错误,例如“字符串文字中的错误控制字符”。它适用于其他一些关键字,但不适用于其他关键字。整体在旧浏览器中运行
  • 这是我使用的 JSON 格式 { "list" : [ {"genericIndicatorId" : 100,"isActive" : false, "maxValue" : null, "minValue" : null, "modificationDate" :1283904000000,“单调”:1,“名称”:“Abbau”,“old_name”:“abbau_change_delete_imac”,“位置”:2,“systemGraphics”:“000000”,“unitId”:1,“valueType”:1 , "描述" : "Abbau", "重量" : 1 }]}
猜你喜欢
  • 2011-11-30
  • 2012-06-14
  • 2015-11-07
  • 1970-01-01
  • 2017-01-01
  • 2012-03-04
  • 2019-05-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多