2017-08-17 6 views
2

J'utilise jQueryUI Autocomplete pour un projet web. J'ai besoin de l'attribut name de chaque appelé input. Comment puis-je l'avoir? this ne peut pas obtenir le contexte à l'intérieur de la fonction.Comment puis-je obtenir le contexte d'un widget de saisie semi-automatique jquery-ui?

$("input").autocomplete({ 
    delay: 600, 
    minLength: 2, 
    source: function(request, response) { 
    var term = request.term; 
    $.getJSON(url, request, function(data, status, xhr) { 
     response(data); 
    }); 
    } 
}); 
+0

J'ai plusieurs entrées, j'ai donc besoin de savoir qui se déclenche. –

Répondre

3

Vous pouvez y parvenir en initialisant la saisie semi-automatique dans une boucle each(). Cela signifie que vous avez accès à la référence this:

$("input").each(function() { 
    var $input = $(this); 

    $input.autocomplete({ 
    delay: 600, 
    minLength: 2, 
    source: function(request, response) { 
     var term = request.term; 
     // do something with $input.prop('name') here... 
     $.getJSON(url, request, function(data, status, xhr) { 
     response(data); 
     }); 
    } 
    }); 
});