我正在写一个Zendesk应用程序。在使用jquery autocomplete选择内容后,我需要发出一个ajax请求:
twTicketsRecvd: function(data) {
this.$("#tags").autocomplete({
source: descriptions,
select: function(event,ui){
this.addTwTicket(event,ui)
}
});
},
addTwTicket: function(event,ui) {
this.ajax('addMapping', 1, 12442)
//do some other stuff
}
我得到 this.addTwTicket不是函数错误
当我在自动完成选择功能中放入 this.ajax()时,找不到 this.ajax()。
这可能与JS范围有关,而不是zendesk本身,我很遗憾不熟悉。
答案 0 :(得分:1)
我的猜测是,在自动填充this
中可能会采用新的定义,因此您需要将其设为别名:
var _this = this;
twTicketsRecvd: function(data) {
$("#tags").autocomplete({
source: descriptions,
select: function(event,ui){
_this.addTwTicket(event,ui)
}
});
},
addTwTicket: function(event,ui) {
_this.ajax('addMapping', 1, 12442)
//do some other stuff
}