我在一个文本框上使用了带有 ajax 的 bootstrap 的 typeahead 脚本,现在我进行了如下调用
$('#EquipmentLogEquipmentType').typeahead({
source: function(query, process) {
var $url =SITE_URL+ 'api/equiplg_typefields_typeahead/' + query + '.json';
var $items = new Array;
var id=$(this).attr('id');
id=id.split('eq_');
id=id[1];
$items = [""];
$.ajax({
url: $url,
dataType: "json",
type: "POST",
data: { field_name: id},
success: function(data) {
console.log(data);
$.map(data, function(data){
var group;
group = {
id: data.id,
name: data.name,
toString: function () {
return JSON.stringify(this);
//return this.app;
},
toLowerCase: function () {
return this.name.toLowerCase();
},
indexOf: function (string) {
return String.prototype.indexOf.apply(this.name, arguments);
},
replace: function (string) {
var value = '';
value += this.name;
if(typeof(this.level) != 'undefined') {
value += ' <span class="pull-right muted">';
value += this.level;
value += '</span>';
}
return String.prototype.replace.apply('<div style="padding: 10px; font-size: 1.5em;">' + value + '</div>', arguments);
}
};
$items.push(group);
});
process($items);
}
});
},
property: 'name',
items: 10,
minLength: 2,
updater: function (item) {
var item = JSON.parse(item);
console.log(item.name);
return item.name;
}
});
现在在上面的代码中我提到了 $(this).attr('id'); 显示未定义...所以任何人都可以告诉我如何获取字段的属性,哪个 typeahead 是获取目标?
提前致谢 :)