IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Comment faire un OU en JS ?


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 106
    Par défaut Comment faire un OU en JS ?
    Bonjour à tous,

    J'essaie de faire un "ou" , mais je n'arrive pas après plusieurs test : || - ; - , ^ .............

    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $(this).find("td.partsRef7").each(			/*Avec un double "==" ca fonctionne--> CAD --> Ca me l'affiche plus mais ca fonctionne plus avec ";" ou "," ... avec un "ou"  */
                                            		function(){
                                            			if($(this).html().startsWith == "A" || "N" || "E" || "S"){ 
                                            				xml+= backslah + indent + indent + "<partsRef name=" + '"' + encodeAndEscapeXML($(this).html()) + '"' + " />"; 
                                            			} else {
                                            				$(this).remove();
                                            			}
                                            		});
    En fait, c'est au niveau de cette ligne que je bloque :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if($(this).html().startsWith == "A" || "N" || "E" || "S")
    avec =="A" ca me filtre bien, mais pas avec plusieurs !!!

    J'ai aussi essayé ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(($(this).html().startsWith == "A") || ($(this).html().startsWith == "N") || ($(this).html().startsWith == "E") || ($(this).html().startsWith == "S"))
    Si quelqu'un a une idee ?

  2. #2
    Membre extrêmement actif Avatar de psychadelic
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 2 532
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var  truc = $(this).html().charAt(0);
     
    if  (truc == "A" || truc == "N" || truc == "E" || truc == "S")
    ou encore

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ("ANES".indexOf($(this).html().charAt(0)) >= 0)
    sinon, c'est aussi faisable avec une expression régulière.

  3. #3
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 198
    Par défaut
    Bonjour,
    J'ai aussi essayé ...
    attention à la syntaxe lors de l'utilisation de la méthode startsWith il faut passer le caractère recherché et la position attendue
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    chaine.startsWith("A", 0);

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 106
    Par défaut Réponse aux commentaires
    J'ai essayé ta solution mais elle ne fonctionne pas !

  5. #5
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 198
    Par défaut
    bizarre elle fonctionne chez moi, même la solution en utilisant les RegExp !!!

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 106
    Par défaut Réponse aux commentaires
    En fait, ton code prends en compte que la première lettre, si j'en met plusieurs (car il peut en avoir plusieurs), ca ne fonctionne pas. Je te mets mon code ci dessous :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $(this).find("td.partsRef1").each(		/* ($(this).html().startsWith = "A") || ($(this).html().startsWith = "E") || ($(this).html().startsWith = "N") || ($(this).html().startsWith == "S")  */
                                            		function(){
                                            			if( $(this).html().startsWith("A",0,"E",0,"N",0,"S",0)) { 
                                            				xml+= backslah + indent + indent + "<partsRef1 name=" + '"' + encodeAndEscapeXML($(this).html()) + '"' + " />"; 
                                            			} else {
                                            				$(this).remove();
                                            			}                            			 
                                            		});
    J'ai aussi essayé ça mais c'est toujours pareil :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    $(this).find("td.partsRef2").each(
                                            		function(){
                                            			if( $(this).html().startsWith == "A") { 
                                            				xml+= backslah + indent + indent + "<partsRef2 name=" + '"' + encodeAndEscapeXML($(this).html()) + '"' + " />"; 
                                            			} else if( $(this).html().startsWith == "E") {
                                            				xml+= backslah + indent + indent + "<partsRef2 name=" + '"' + encodeAndEscapeXML($(this).html()) + '"' + " />"; 
                                            			} else if( $(this).html().startsWith == "N"){
                                            				xml+= backslah + indent + indent + "<partsRef2 name=" + '"' + encodeAndEscapeXML($(this).html()) + '"' + " />";
                                            			} else if ( $(this).html().startsWith == "S"){
                                            				xml+= backslah + indent + indent + "<partsRef2 name=" + '"' + encodeAndEscapeXML($(this).html()) + '"' + " />";
                                            			} else {
                                            				$(this).remove();
                                            			}
                                            		});

  7. #7
    Membre Expert
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    1 616
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 616
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    $(this).find("td.partsRef2").each(
                                            		function(){
                                            			if( $(this).html().startsWith("A")) { 
                                            				xml+= backslah + indent + indent + "<partsRef2 name=" + '"' + encodeAndEscapeXML($(this).html()) + '"' + " />"; 
                                            			} else if( $(this).html().startsWith("E")) {
                                            				xml+= backslah + indent + indent + "<partsRef2 name=" + '"' + encodeAndEscapeXML($(this).html()) + '"' + " />"; 
                                            			} else if( $(this).html().startsWith ( "N")){
                                            				xml+= backslah + indent + indent + "<partsRef2 name=" + '"' + encodeAndEscapeXML($(this).html()) + '"' + " />";
                                            			} else if ( $(this).html().startsWith ("S")){
                                            				xml+= backslah + indent + indent + "<partsRef2 name=" + '"' + encodeAndEscapeXML($(this).html()) + '"' + " />";
                                            			} else {
                                            				$(this).remove();
                                            			}
     
          		});
    non ?

    https://developer.mozilla.org/fr/doc...ing/startsWith

    startsWith renvoie un booleen, donc faire
    compare l'existence d'un méthode sur un élément string avec un valeur "vraie", ça risque de marcher tout le temps...???

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 106
    Par défaut Réponse aux commentaires
    Ton code fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    function(){
                                            			if( $(this).html().startsWith("A")) { 
                                            				xml+= backslah + indent + indent + "<partsRef2 name=" + '"' + encodeAndEscapeXML($(this).html()) + '"' + " />"; 
                                            			} else if( $(this).html().startsWith("E")) {
                                            				xml+= backslah + indent + indent + "<partsRef2 name=" + '"' + encodeAndEscapeXML($(this).html()) + '"' + " />"; 
                                            			} else if( $(this).html().startsWith ( "N")){
                                            				xml+= backslah + indent + indent + "<partsRef2 name=" + '"' + encodeAndEscapeXML($(this).html()) + '"' + " />";
                                            			} else if ( $(this).html().startsWith ("S")){
                                            				xml+= backslah + indent + indent + "<partsRef2 name=" + '"' + encodeAndEscapeXML($(this).html()) + '"' + " />";
                                            			} else {
                                            				$(this).remove();
                                            			}
    Merci beaucoup.

  9. #9
    Membre Expert
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    1 616
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 616
    Par défaut
    Tu peux écrire un OU désormais et simplifier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    function(){
                                            			if( $(this).html().startsWith("A")||$(this).html().startsWith("E")||$(this).html().startsWith("N")||$(this).html().startsWith("S")) { 
                                            				xml+= backslah + indent + indent + "<partsRef2 name=" + '"' + encodeAndEscapeXML($(this).html()) + '"' + " />"; 
                                            			} else {
                                            				$(this).remove();
                                            			}
    }
    Tu peux simplifier encore plus en faisant une fonction pour remplacer:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $(this).html().startsWith("...")

  10. #10
    Membre extrêmement actif Avatar de psychadelic
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 2 532
    Par défaut
    Citation Envoyé par fredbubu65 Voir le message
    J'ai essayé ta solution mais elle ne fonctionne pas !
    sérieux ??

    Code Javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     function(){
      if ("ANES".indexOf($(this).html().charAt(0)) >= 0)
      { 
        xml+= backslah + indent + indent + "<partsRef2 name=" 
        xml+= '"' + encodeAndEscapeXML($(this).html()) + '"' + " />"; 
      }
      else
      {
        $(this).remove();
      }
    }

    Parce que chez moi ça marche parfaitement !

    comme je l'ai indiqué dans mon post précédent. => https://www.developpez.net/forums/d1.../#post10204827

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VB6][impression]Comment faire des effets sur les polices ?
    Par le.dod dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 08/11/2002, 10h31
  2. comment faire evoluer ma base vers interbase6
    Par toure32 dans le forum InterBase
    Réponses: 5
    Dernier message: 23/10/2002, 10h59
  3. Réponses: 8
    Dernier message: 18/09/2002, 03h20
  4. Comment faire pour mettre l'ecran en veille ?
    Par March' dans le forum MFC
    Réponses: 6
    Dernier message: 29/08/2002, 14h25
  5. Comment faire pour créer un bitmap
    Par GliGli dans le forum C++Builder
    Réponses: 2
    Dernier message: 24/04/2002, 15h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo