Bonjour !
J'ai un petit script tout bête :
- deux listes <ul> : je clique sur un <li> d'une liste, si il est déjà présent dans l'autre liste, il ne fait rien. Sinon il y va.
- j'utilise des input:hidden transportant une info d'ID pour les comparer.
Donc je pensais faire ce script :
Le problème c'est qu'il considère la condition toujours vérifiée, du coup il ne fait jamais rien.
Monitoré sous FireBug, il ne renvoie jamais un false à la condition, mais un '[ ]' quand l'ingredient_id n'est pas trouvé.
Comment puis-je lui dire que si le résultat est '[ ]' alors il doit exécuter le "else" ?
Ou comment reformuler la condition pour qu'elle soit correctement comprise ?
Merci pour vos conseils !
J'ai un petit script tout bête :
- deux listes <ul> : je clique sur un <li> d'une liste, si il est déjà présent dans l'autre liste, il ne fait rien. Sinon il y va.
- j'utilise des input:hidden transportant une info d'ID pour les comparer.
Donc je pensais faire ce script :
$("#liste2 li").click(function(){
ingredient_id = $(this).find("input:hidden").val();
if($("#liste1 li").has("input[value='"+ingredient_id+"']")){return false;}
else{
//Copie vers l'autre liste
}
});
Le problème c'est qu'il considère la condition toujours vérifiée, du coup il ne fait jamais rien.
Monitoré sous FireBug, il ne renvoie jamais un false à la condition, mais un '[ ]' quand l'ingredient_id n'est pas trouvé.
Comment puis-je lui dire que si le résultat est '[ ]' alors il doit exécuter le "else" ?
Ou comment reformuler la condition pour qu'elle soit correctement comprise ?
Merci pour vos conseils !