Javascript 获取对jquery自动完成中调用对象的引用
我想使用带有2个控件的jquery ui autocomplete插件,因此我有:Javascript 获取对jquery自动完成中调用对象的引用,javascript,jquery-ui,Javascript,Jquery Ui,我想使用带有2个控件的jquery ui autocomplete插件,因此我有: $("#From, #To").autocomplete({ source: function (request, response) { $.ajax({ url: "http://example.com/search/" + $(this).val(), dataType: "jsonp",
$("#From, #To").autocomplete({
source: function (request, response) {
$.ajax({
url: "http://example.com/search/" + $(this).val(),
dataType: "jsonp",
data: {
featureClass: "P"
},
success: function (data) {
response($.map(data.autocomplete, function (item) {
return {
label: item.name + " (" + item.id + ")",
value: item.id
}
}));
}
});
}
});
问题是,我使用$(this).val()获取当前文本框中文本的url参数不起作用,我如何做到不需要为每个控件复制自动完成代码
谢谢 您可以使用
this.term
获取要使用的搜索词。您可能还希望将其包装在encodeURIComponent()
中,即
url: "http://example.com/search/" + encodeURIComponent(this.term),
... // etc.
乍一看,这看起来还可以,在它上面放一个断点,然后运行
$(this).attr(“id”)
来验证这个是否指向了正确的对象。在这种情况下这个指的是jQuery UI小部件,即自动完成
实例。term
属性仅由autocomplete
小部件在内部设置,用于保存搜索项以过滤自动完成选项。我刚刚做了一个console.log(这个)在success
函数中找到它:-)