【问题标题】:Get data from php file to javascript从 php 文件中获取数据到 javascript
【发布时间】:2018-02-25 13:20:31
【问题描述】:

下面的 javascript 应该是某种自动完成功能。我正在使用引导输入。

当我在输入字段中键入项目时,我可以看到建议,问题是我无法选择它们并填充输入字段。 知道它可能有什么问题吗?

<script type="text/javascript">
    $('#typeahead').typeahead({
    source:  function (query, process) {
         objects = [];
         map = {};

        return $.get('live_search.php?filter=relation', { query: query }, function (data) {
                console.log(data);
                var data = $.parseJSON(data);
                return process(data);   
            });


            $.each(data, function(i, object) {
            map[object.name] = object;
            objects.push(object.name);
            });

            process(objects);

    },
    updater: function(item) {
        $('#getSelection').val(map[item].name);
        $('#getValue').val(map[item].name);
        return item;
    }
});
</script>

【问题讨论】:

  • @Teemu 怎么是那个的复制品???
  • 你在回调函数中有一个return语句,阅读dup你就明白了。
  • @Teemu 我能够以两种不同的方式返回数据,我的问题不是那个。请在将其标记为重复之前阅读它!
  • @Teemu,你最好阅读我的问题。我的问题是基本上如何从 php 文件返回数据,而不是一般如何。

标签: javascript php jquery bootstrap-typeahead


【解决方案1】:

看起来您的源方法立即从 $.get 调用返回,并且从未进入 $.each 迭代。将迭代代码移动到获取请求回调块中。

此外,您对 objectsmap 的引用在 source 方法的范围内,但您在 updater 方法中引用它们

var typeahead = {
  objects: [],
  map: {},
};

$("#typeahead").typeahead({
  source: function(query, process) {
    return $.get("live_search.php?filter=relation", { query: query }, function(
      data
    ) {
      var data = $.parseJSON(data);

      $.each(data, function(i, object) {
        typeahead.map[object.name] = object;
        typeahead.objects.push(object.name);
      });

      return process(data);
    });
  },
  updater: function(item) {
    $("#getSelection").val(typeahead.map[item].name);
    $("#getValue").val(typeahead.map[item].name);
    return item;
  },
});

【讨论】:

  • 谢谢,但还是不行,或者我做错了。我对javascript很不好。
  • 你能帮我重写这部分吗?
  • 你使用的是哪个插件,@DaniM?
  • 我正在使用 typeahead 插件,来自 bootstrap
  • 我试过上面的代码,还是不行。当我选择建议时,它不会插入到输入中
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-04-24
  • 1970-01-01
  • 2015-11-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-17
相关资源
最近更新 更多