autocomplete - JQuery - Get calling element id -
problem
in source function of autocomplete want selector's id. there way can travese through call stack , this? jquery
have level of abstraction?
why?
i have multiple autocompletes on page , each 1 handled differently on server side. have use function source. otherwise have used url + data: long time ago =p
jquery version
jquery-1.9.1
research
of course i've been on this: jquery api
how element id dynamically generated form elements jquery?
a lot of these attempts didn't think work, right i'm @ point of trial , error.
$(this).attr('id'); - undefined
i though i'd try caller functions name, , it...doesn't seem output anything.
appending source function (this absurd!!! appending text function?! i'm desperate...)
$("#inpdvehmk").autocomplete({ source: autocompletepost + "field="+$(this).attr('id'), minlength: 2, select: function(event, ui){ alert(ui.label1); alert("value= " + ui.item.value + " id= "+ ui.item.id); } });
auto complete setup
$("#inpdvehmk").autocomplete({ source: autocompletepost, minlength: 2, select: function(event, ui){ alert(ui.label1); alert("value= " + ui.item.value + " id= "+ ui.item.id); } });
source function
function autocompletepost(request, response){ //alert($(this).attr('id')); //this i'm testing see ids. $.post(ajaxpageautocomplete, { searchterm: request.term, field: 'inpdvehmk'}, //i want field dynamic depending on calling selector. function(data) { var splitdata = data.split("%"); var json = jquery.parsejson(splitdata[1].tostring()); if(data.search('autocompleteerror') !== -1 || data.length < 1){ dialogbox('div_errormessage^open^autocompleteerror'); }else{ response(json); } } ); }
i'm embarrassed how long took me figure out.
use line in source function id of autocomplete.
$(this.element).prop("id")
since autocomplete jquery widget, this
object refers widget instance. element, need go through it's element
property.
to fair, isn't documented unless creating widgets using widget factory.
Comments
Post a Comment