8
votes

Cette déclaration de pause est-elle valide dans JQuery / JavaScript?

J'ai une fonction qui sélectionne un texte basé sur la chaîne d'entrée. Si les deux correspondent, je le fais sélectionner. PFB La fonction,

function setDropdownTextContains(dropdownId,selectedValue,hfId){
            $('#'+dropdownId+' option').each(function(){

                     if($(this).text() === selectedValue){
                         $(this).attr("selected", "selected");
                         break;
                     }
            });
                 $('#'+hfId).val("ModelName doesnt match");
        }


1 commentaires

Le message d'erreur est auto-explicite. Votre casse n'est pas dans une boucle ou commutateur . RETOUR FALSE Pour arrêter le .Chaque boucle .


5 Réponses :


23
votes

Le texte d'exception est assez descriptif. Vous ne pouvez vraiment pas utiliser casser instruction intérieure si la clause . Dans votre cas, vous devez utiliser renvoyer false pour arrêter le .uite () itération.


0 commentaires

2
votes

$ () Chaque est une méthode de fonction, vous le terminerez donc avec retour xxx


1 commentaires

Nope, retour n'arrête pas l'itération. Il devrait retourner faux .



3
votes

A Écosse est conçu pour mettre fin à un pour, tandis que ou tout en fonctionne boucle ou une instruction de commutation. Il n'a aucun effet secondaire où vous l'utilisez. Qu'essayez-vous d'atteindre?

Dans votre cas spécifique, juste renvoie false


0 commentaires

2
votes

Pour vous casser, vous pouvez simplement retourner faux; , comme xxx

retourner 'False' de l'intérieur de chaque fonction arrête complètement la boucle à travers tous les éléments (c'est comme utiliser une «pause» avec un boucle normale). Retourner «vrai» de la boucle saute à la suivante itération (c'est comme utiliser une "Continuer" avec une boucle normale)


0 commentaires

1
votes

Selon la documentation de JQuery, la pause est de sortir de la boucle. Vous ne pouvez pas l'utiliser à l'intérieur de l'instruction si la déclaration.

Vous pouvez utiliser renvoyer false . xxx


0 commentaires