Jquery catching click event on jquery ui autocomplete

tomexsans picture tomexsans · Oct 18, 2013 · Viewed 26.5k times · Source

i have been trying to figure this out lately but i can't

the problem is that i have an input field with type text that i need to get the current input data when the values from the autocomplete are selected. Note i am using jQuery UI autocomplete.

i can catch the keyup event but when a user uses clicks on the autocomplete values. jQuery does not fire the change event handler, i tried using every event handler there is but to no avail.

i think it cannot catch a DOM based manipulation of an element? i'm not sure. here is a fiddle

Answer

Tats_innit picture Tats_innit · Oct 18, 2013

Like this http://jsfiddle.net/PUpRr/

select options should do the trick.

Options/events/methods API documentation : http://api.jqueryui.com/autocomplete/

Hope this fits the needs :)

Sample code

$("#to").autocomplete({
    source: function (request, response) {

        var friendsArray = [];
        friendsArray = [{
            "id": 1,
            "name": "hulk",
            "value": "hulk"
        }, {
            "id": 2,
            "name": "ironman",
            "value": "ironman"
        }, {
            "id": 3,
            "name": "Foobar",
            "value": "Foobar"
        }];

        response(friendsArray);
        return;


    },

    select: function (e, ui) {

        alert("selected!");
    },

    change: function (e, ui) {

        alert("changed!");
    }
});