ne pas afficher u champ contenant une valeur

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [RÉGLÉ] ne pas afficher u champ contenant une valeur

    Bonjour,
    j'ai ce script
    <script>
    function emptyCellsOnly(row) {
    var cells = row.cells;
    for(var j = 0; j < cells.length; j++) {
    if(cells[j].getElementsByTagName("input")[0].value !== '')

    {
    return false;
    }
    }
    return true;
    }
    var rows = document.getElementsByTagName('tr');
    for(var i = 0; i < rows.length; i++) {
    if(emptyCellsOnly(rows[i])) {
    rows[i].style.display = 'none';
    }
    }
    </script>

    qui effaces lignes d'un tableau contenant des cellules vides.
    Je n’arrive pas à le modifier pour qu'il n'affiche pas aussi le celles content une chaîne de caractères particulier. J'ai essayer .search("chaîne") après getElementsByTagName("input")[0].value mais je n'y arrive pas
    Merci

  • #2
    Re : ne pas afficher u champ contenant une valeur

    Hello blueberry38,

    Je ne suis pas un pratiquant régulier de JS mais
    Il ne manquerait pas un else dans la fonction emptyCellsOnly ?

    Cela dit j'aurais écrit comme ça ... (pas testé)

    Code:
    if ( (cells[j].getElementsByTagName("input")[0].value == '') 
    ||  (cells[j].getElementsByTagName("input")[0].value == 'MaChaineSpe') ) {
    return true;
    } [B]else [/B]{
    return false;
    }
    Solidaire avec les dinosaures

    Commentaire


    • #3
      Re : ne pas afficher u champ contenant une valeur

      Merci mais cela marche sans else, je ne suis pas un pro de JS non plus. L'idée est bonne mais je cherche un élément de la chaîne input
      qui est de la forme "alain est désinscrit". Je cherche à tester si "désinscrit" est bien dans la chaine pour ne plus afficher la ligne. Je n'y arrive pas avec .search("désinscrit")......

      Commentaire


      • #4
        Re : ne pas afficher u champ contenant une valeur

        Sans doute le caractère accentué "é" qui pose problème ... tester par hasard .search("sinscrit") ?
        Solidaire avec les dinosaures

        Commentaire


        • #5
          Re : ne pas afficher u champ contenant une valeur

          Bonjour,

          Voir http://www.w3schools.com/jsref/jsref_includes.asp et http://www.w3schools.com/jsref/jsref_replace.asp
          ça permet de simplifier pas mal de choses
          Pas de demande de support par MP.
          S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

          Commentaire


          • #6
            Re : ne pas afficher u champ contenant une valeur

            Merci jisse, j'ai fini par trouvé. Pas sûr que ce soit du pur js, je vais essayer de combiner les 2 fonctions
            function desinscritCellsOnly(row) {
            var cells = row.cells;
            for(var j = 0; j < cells.length; j++) {
            if (cells[j].getElementsByTagName("input")[0].value.includes("désinscrit"))
            {
            return true;
            }
            }
            return false;
            }
            var rows = document.getElementsByTagName('tr');
            for(var i = 0; i < rows.length; i++) {
            if(desinscritCellsOnly(rows[i])) {
            rows[i].style.display = 'none';
            }
            }

            Commentaire

            Annonce

            Réduire
            Aucune annonce pour le moment.

            Partenaire de l'association

            Réduire

            Hébergeur Web PlanetHoster
            Travaille ...
            X