【问题标题】:jQuery autocomplete with JSON not using "value" or "label"不使用“值”或“标签”的带有 JSON 的 jQuery 自动完成
【发布时间】:2014-09-10 01:57:26
【问题描述】:

很抱歉,如果在外面的某个地方有一个像样的例子,我一直在寻找几天但找不到解决方案。

从 JSON 文件“database.json”中收集数据:

"[{\"id\":\"1\",\"state\":\"Alaska\"},{\"id\":\"2\",\"state\":\"Alabama\"},{\"id\":\"3\",\"state\":\"California\"}]"

这是我最近失败的尝试:

$("#state").autocomplete({
                       source: function( request, response ) {
                       $.ajax({
                           url: "database.json",
                           dataType: "json",
                           data: {term: request.term},
                           success: function(data) {
                                     console.log(data)
                                       response($.map(data, function(item) {
                                       return {
                                           label: item.state,
                                           id: item.id,
                                       };
                                   }));
                               }
                           });
                       },
                       minLength: 2,
                       select: function(event, ui) {
                           $('#state_id').val(ui.item.id);
                       }
                   });

当然还有html:

<input type="text" id="state"/>

我不知道从这里去哪里,我只想要一个简单的下拉自动完成。让我知道是否需要更多信息,我可以提供。

谢谢!

【问题讨论】:

  • 您的控制台有任何错误吗?
  • 如果 ajax 请求返回值,它看起来很好 - jsfiddle.net/arunpjohny/dqggjdj8/1
  • @ArunPJohny 控制台没有错误。我只是没有看到价值下降。这是否意味着“database.json”的可访问性存在问题?
  • 在成功处理程序中记录console.log(data)等数据的值
  • data 是成功回调的参数...所以您需要在 response($.map(data, function(item) { 之前的成功回调中添加控制台日志记录

标签: javascript jquery json autocomplete


【解决方案1】:

在@ArunPJohny 的大力帮助下,我能够完成添加

data  = JSON.parse(data); 

就在success: function(data) {下方

问题是我的 JSON 被保存为字符串而不是严格的 JSON,所以我需要先解析它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-16
    • 2010-12-08
    • 2011-04-10
    • 1970-01-01
    相关资源
    最近更新 更多