Search code examples
javascriptautocompletejqueryjquery-autocomplete

Jquery catching click event on jquery ui autocomplete


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


Solution

  • 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!");
        }
    });