L'extrait suivant ne fonctionne pas pour moi. Fondamentalement, je veux vérifier s'il y a un élément d'entrée avec le nom "documents []" et la valeur item.id et return void.Vérifiez si un élément existe dans le DOM
Je pensais que cette ligne le ferait: $("input [name='documents[]'][value='"+item.id+"'") != false
.
Cependant, l'instruction renvoie true à chaque fois. J'ai regardé la documentation pour le constructeur de jQuery et il ne mentionne rien de retourner false si aucun élément n'est trouvé pour le sélecteur.
Comment puis-je savoir si le sélecteur ne correspond à aucun élément?
$.ajax({
url:'/myid/documents/json_get_documents/'+request.term,
dataType:"json",
success: function(data) {
response($.map(data, function(item){
if($("input [name='documents[]'][value='"+item.id+"'") != false) {
return; //This item has already been added, don't show in autocompete
}
return {
label: '<span class="file">'+item.title+'</span>',
id: item.id,
value: 'Search by title'
}
}))
}
});
Oui, un appel de fonction 'jQuery' (avec un sélecteur et éventuellement le contexte) retournera toujours un objet de collection jQuery, qui contient la propriété' length' - ou le nombre d'éléments correspondants. –