【问题标题】:How to pass JSON Array inside JSON object to jQuery autocomplete如何将 JSON 对象内的 JSON 数组传递给 jQuery 自动完成
【发布时间】:2015-05-10 05:07:13
【问题描述】:

我正在使用 jQuery 自动完成功能通过 Ajax 调用接收特定数据。我从 Ajax 调用收到的数据是一个 JSON 对象,其中包含一个 JSON 数组。我需要将此 json 数组的每个结果显示到自动完成搜索结果中。格式将是这样的:

{
    "returnCode":"success",
    "status":"success", 
    "searchResults" :[{"val":"123"},{"val":"456"},{"val":"789"}]
   }

现在我需要在自动完成下拉菜单中显示 123 456 和 789。在 formatItem 和 formatResult 中尝试了一些代码,但似乎没有达到目的。

formatItem: function(row,i,max) {
var returnObject = eval("(" + row + ")");
var searchResults = returnObject.searchResults;
if(searchResults.length>0){
    for(i=1; i<searchResults.length; i++){
        // What to do here?
    }
}

【问题讨论】:

    标签: java javascript jquery autocomplete jquery-autocomplete


    【解决方案1】:

    试试

    var cache = {};
    elem.autocomplete({
        minLength: 2,
        source: function(request, response) {
          var term = request.term;
          if (!!cache[term]) {
            response(cache[term][0]);
            return
          };
          cache[term] = [];
          $.getJSON("/path/to/json/")
          .then(function success(data) {
              var res = $.map(data.searchResults, function(val) {
                return val.val
              });          
              cache[term].push(res);
              response(res)
            }, function error(jqxhr, textStatus, errorThrown) {
                 console.log(textStatus, errorThrown) // log `$.ajax` errors
          })
        }
    });
    

    jsfiddle http://jsfiddle.net/guest271314/wr1wg5df/

    【讨论】:

    • 我曾尝试使用“源”来进行 ajax 调用。虽然不知何故它不起作用。永远不会进行 ajax 调用。
    • 在帖子中尝试过模式?可以在原始帖子中包含$.ajax().autocomplete() 吗? console 记录了什么?
    • 什么都没有。似乎它根本不支持“源”的东西
    • 可以在原帖中包含$.ajax().autocomplete()js吗,创建stacksn-ps blog.stackoverflow.com/2014/09/…jsfiddle.net来演示?
    • 所以基本上当我在自动完成中调用提供 url 参数的 java 方法时它可以工作 - $(modal).find(".seach").autocomplete("searchListItems.do",{
    猜你喜欢
    • 1970-01-01
    • 2011-01-08
    • 1970-01-01
    • 2012-04-16
    • 2019-03-31
    • 1970-01-01
    • 1970-01-01
    • 2011-02-26
    • 2012-04-12
    相关资源
    最近更新 更多