今天用到一个自动补全插件
后台可以接收请求,查出数据,但是前台没有任何反应,报错如下:
TypeError: invalid 'in' operand a
各种纠结,终于知道原因是什么了
ajax中没有指定 dataType:"json"
var objMap = {};//定义一个空的js对象
$("#create-customerName").typeahead({
//source只能处理基本类型数组
source: function (query, process) {//query:输入框的数据.
$.ajax({
url:'workbench/transaction/queryAllCustomerForTransactionByName.do',
data:{
name:query
},
type:'post',
dataType:"json",
success:function(data){
var names = [];//定义一个基本类型数组
$.each(data,function(index,ele){//遍历从后台返回的复杂复杂数组
objMap[ele.name] = ele.id;//给objMap添加属性名和属性值.
names.push(ele.name);//把复杂类型数组的每一个元素的name保存到基本类型数组里
});
process(names);//调用处理函数,格式化.把转换生成的基本类型数组交给source处理.
}
});
},
afterSelect: function (item) {
//$("#create-customerId").val(objMap[item]);
}
});