Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

jQuery autocomplete on class, how to get id

I have been working on this a while and can't seem to get anywhere. Basically I have the autocomplete on a bunch of inputs by class, but I need to get the specific inputs id to build the object to post the ajax (I have to use POST for this project not GET).

$(".input_autocomplete").autocomplete({
  source: function( request, response ) {
  // here is where I get the hash from local storage,
  // reference the id and build the object
  // tried this.id, $(this).prop('id'), no luck
  $.ajax({
    url: '/somepath/filename.htm',
    contentType: 'application/json',
    dataType: 'json',
    type: 'POST',
    data: JSON.stringify(obj),
    success: function(json) {
      return {
        label: item.label,
        value: item.label
      }
    },
    error: function() {
      // error handling
    }
   }); // ajax
 } // source
});
like image 395
user1572796 Avatar asked Oct 13 '12 01:10

user1572796


2 Answers

Try:

$(this.element).prop("id");

or:

this.element[0].id;

Inside of the source callback, this refers to the widget instance. In order to get the element the widget is attached to, you should use this.element, which is a jQuery object.

like image 174
Andrew Whitaker Avatar answered Oct 02 '22 07:10

Andrew Whitaker


I tried it out in a project of mine. This worked for me:

$(this.element.get(0)).attr('id');
like image 36
pebbo Avatar answered Oct 02 '22 07:10

pebbo