【发布时间】:2011-04-06 21:42:07
【问题描述】:
我正在尝试同时对三个输入框应用 jQuery UI 自动完成,因为请求和逻辑几乎相同,它们之间只有一个参数变化。
由于我使用的是通过 ajax 检索的远程源,因此我试图能够知道请求是从哪个文本框发出的。
正如您在 'source' 事件的 'switch' 语句中看到的,我尝试了 $(this).attr("id") 但这不起作用,它返回 'indefined'
我尝试了这个,因为它适用于“选择”和“焦点”事件,但不适用于“源”。我想我使用它的方式是指向“源”
有谁知道在这种情况下从哪个元素调用事件的方法?
谢谢!!
$("#campo-categorias, #campo-tipos, #campo-colonias").autocomplete({
minLength: 1,
delay: 100,
source: function(request, response){
var solicitud = new Object;
switch ($(this).attr("id")){
case "campo-categorias":
solicitud.action = 'get_categorias';
break;
case "campo-tipos":
solicitud.action = 'get_tipos_comida';
break;
case "campo-colonias":
solicitud.action = 'get_colonias';
break;
}
solicitud.consulta = request.term;
$.ajax({
url: "wp-admin/admin-ajax.php",
dataType: "json",
data: solicitud,
type: "POST",
success: function(data){
response(data);
}
});
});
【问题讨论】:
标签: jquery jquery-ui autocomplete jquery-selectors