jquery自动完成与json响应 [英] jquery autocomplete with json response

查看:40
本文介绍了jquery自动完成与json响应的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在 json 中得到响应,但这不会解析 json 响应.我做错了什么?我在 doc http://docs.jquery.com/Plugins/Autocomplete

im getting response in json, but this wont parse the json response. what m i doing wrong? i could'nt find anything on doc http://docs.jquery.com/Plugins/Autocomplete

$("#users-allowed").autocomplete("/people/following.json", {
  width: 320,
  //max: 4,
  highlight: false,
  scroll: true,
  scrollHeight: 300,
  formatItem: function(response, i, max) {
    console.log(response);
    console.log(response['items']);
    console.log(response.items);
    return i + "/" + max + ": "" + response.status_code + "" [" + response.status_description + "]";

    //return "<img src='images/" + value + "'/> " + value.split(".")[0];
  },
  formatResult: function(response) {
    //return value.split(".")[0];
    return response.status_description;
  }
});

推荐答案

$("#users-allowed").autocomplete("/people/following.json", {
  width: 320,
  dataType: 'json',
  highlight: false,
  scroll: true,
  scrollHeight: 300,
  parse: function(data) {
    var array = new Array();
    for(var i=0;i<data.items.length;i++) {
      array[array.length] = { data: data.items[i], value: data.items[i], result: data.items[i].username };
    }
    return array;
  },
  formatItem: function(row) {               
    var name = '';
    if (row.first_name && row.last_name)
      name = '('+row.first_name+', '+row.last_name+')';
    else if (row.first_name)
      name = '('+row.first_name+')';
    else if (row.last_name)
      name = '('+row.last_name+')';

    return row.username+' '+name;
  }
});

检查数据类型和解析选项.

check dataType and parse option.

这篇关于jquery自动完成与json响应的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆