Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > jQuery
jQuery Forum d'entraide sur le framework jQuery. Avant de poster : Tutoriels jQuery, FAQ jQuery, Tous les tutoriels JavaScript, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/03/2011, 14h42   #1
Membre confirmé
 
Avatar de arthuro45
 
Arthur Salomon
Développeur du dimanche
Inscription : juillet 2009
Messages : 592
Détails du profil
Informations personnelles :
Nom : Arthur Salomon
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Développeur du dimanche

Informations forums :
Inscription : juillet 2009
Messages : 592
Points : 213
Points : 213
Par défaut Boucler sur une suite d'input de même class

Bonjour,

J'ai une suite d'input dans une tableau html qui ont tous la même class : input_cmd.
Au chargement de la page je cherche à dire : Si parmi tous les input certains ont une valeur différente de null alors je montre un bouton et inversement.
J'ai tenté avec un each mais l'imbrication de mon code me semble douteuse.
J'ai l'impression de ne pas savoir tester les valeurs du tableau "tab".

Mon code test qui ne produit rien :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
var tab=new Array();
var i = "";
     $('.input_cmd').each(function(){
        tab.push($(this).val());
     });
         for(var count=0; i<tab.length; i++) {
             if(tab!="") { 
                              $("#validerCde").css({"visibility": "visible"}); 
             }
             else { 
                              $("#validerCde").css({"visibility": "hidden"}); 
             }
          }
arthuro45 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2011, 14h52   #2
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 007
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 007
Points : 45 091
Points : 45 091
Citation:
Au chargement de la page
ce qui se traduit comment dans ton code ?
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2011, 14h58   #3
Membre confirmé
 
Avatar de arthuro45
 
Arthur Salomon
Développeur du dimanche
Inscription : juillet 2009
Messages : 592
Détails du profil
Informations personnelles :
Nom : Arthur Salomon
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Développeur du dimanche

Informations forums :
Inscription : juillet 2009
Messages : 592
Points : 213
Points : 213
Citation:
ce qui se traduit comment dans ton code ?
Tu veux parler de l'événement déclencheur ?
Le problème se situe pour 2 actions, l'une au 1er chargement de la page et l'autre quand une requête Ajax est exécutée. Il faudrait que la fonction s'exécute à ces 2 moments.
arthuro45 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2011, 15h02   #4
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 007
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 007
Points : 45 091
Points : 45 091
ben mets ce script dans une fonction
appelle la une première fois sur le document ready :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
function truc(){
var tab=new Array();
var i = "";
     $('.input_cmd').each(function(){
        tab.push($(this).val());
     });
         for(var count=0; i<tab.length; i++) {
             if(tab!="") { 
                              $("#validerCde").css({"visibility": "visible"}); 
             }
             else { 
                              $("#validerCde").css({"visibility": "hidden"}); 
             }
          }
}
Code :
1
2
3
4
$(function(){
 truc();
...
}
et ensuite dans ton success
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2011, 15h13   #5
Membre confirmé
 
Avatar de arthuro45
 
Arthur Salomon
Développeur du dimanche
Inscription : juillet 2009
Messages : 592
Détails du profil
Informations personnelles :
Nom : Arthur Salomon
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Développeur du dimanche

Informations forums :
Inscription : juillet 2009
Messages : 592
Points : 213
Points : 213
Cette fonction te semble fonctionner ?

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function truc(){
var tab=new Array();
var i = "";
     $('.input_cmd').each(function(){
        tab.push($(this).val());
     });
         for(var count=0; i<tab.length; i++) {
             if(tab!="") { 
                              $("#validerCde").css({"visibility": "visible"}); 
             }
             else { 
                              $("#validerCde").css({"visibility": "hidden"}); 
             }
          }
}
arthuro45 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2011, 15h37   #6
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 007
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 007
Points : 45 091
Points : 45 091
heu un id doit être unique sur la page
ça ne semble pas etre les cas ??? vu que tu boucles
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2011, 15h40   #7
Membre confirmé
 
Avatar de arthuro45
 
Arthur Salomon
Développeur du dimanche
Inscription : juillet 2009
Messages : 592
Détails du profil
Informations personnelles :
Nom : Arthur Salomon
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Développeur du dimanche

Informations forums :
Inscription : juillet 2009
Messages : 592
Points : 213
Points : 213
.input_cmd est une classe, je pensais que tous les input pouvaient avoir le même ??
arthuro45 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2011, 15h51   #8
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 007
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 007
Points : 45 091
Points : 45 091
oui mais là
tu attribue le style toujours au même élément ?
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2011, 15h55   #9
Membre confirmé
 
Avatar de arthuro45
 
Arthur Salomon
Développeur du dimanche
Inscription : juillet 2009
Messages : 592
Détails du profil
Informations personnelles :
Nom : Arthur Salomon
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Développeur du dimanche

Informations forums :
Inscription : juillet 2009
Messages : 592
Points : 213
Points : 213
Ce bouton n'existe qu'une seule fois dans dans la page.

Citation:
tu attribue le style toujours au même élément ?
oui
arthuro45 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2011, 16h03   #10
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 007
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 007
Points : 45 091
Points : 45 091
? a quoi bon boucler pour modifier le style ????
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2011, 16h05   #11
Membre confirmé
 
Avatar de arthuro45
 
Arthur Salomon
Développeur du dimanche
Inscription : juillet 2009
Messages : 592
Détails du profil
Informations personnelles :
Nom : Arthur Salomon
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Développeur du dimanche

Informations forums :
Inscription : juillet 2009
Messages : 592
Points : 213
Points : 213
Citation:
a quoi bon boucler pour modifier le style ????
Si je trouve un input avec une valeur je modifie le style.

Je chercher à boucler sur les input pas le bouton. Je m'y prend...mal ?
arthuro45 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2011, 16h18   #12
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 007
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 007
Points : 45 091
Points : 45 091
Oui mais là tu appliques le style à chaque fois, tu pourrais incrémenter une variable dans ta boucle et appliquer les style après une seule fois en dehors de la boucles ...

mais bon avec jquery pas besoin de boucle
avec la puissance des selecteurs il te suffit de recupérer la longueur d'une collection

Code :
1
2
3
function foo(){
alert(($('.input_cmd[value=""]').length!=$('.input_cmd').length)?"il y a au moins une valeur renseignée":"tous les champs sont vides")
}
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2011, 22h08   #13
Membre confirmé
 
Avatar de arthuro45
 
Arthur Salomon
Développeur du dimanche
Inscription : juillet 2009
Messages : 592
Détails du profil
Informations personnelles :
Nom : Arthur Salomon
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Développeur du dimanche

Informations forums :
Inscription : juillet 2009
Messages : 592
Points : 213
Points : 213
Citation:
avec la puissance des selecteurs il te suffit de recupérer la longueur d'une collection
Effectivement c'est plus simple qu'une boucle.
Le bouton est bien masqué au chargement de la page (tous les input sont vident), mais reste masqué quand je saisi une valeur dans un input, plus moyen de revoir le bouton.

Code :
1
2
3
4
5
6
7
8
function foo(){
$('.input_cmd[value=""]').length!=$('.input_cmd').length
		?$("#validerCde").css({"visibility": "visible"}):$("#validerCde").css({"visibility": "hidden"});
}
 
$("document").ready(function()  {
foo();
...
arthuro45 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2011, 07h56   #14
Rédacteur
 
Avatar de Arnaud F.
 
Homme Arnaud Feltz
Développeur .NET
Inscription : août 2005
Messages : 5 204
Détails du profil
Informations personnelles :
Nom : Homme Arnaud Feltz
Âge : 25
Localisation : France

Informations professionnelles :
Activité : Développeur .NET
Secteur : Transports

Informations forums :
Inscription : août 2005
Messages : 5 204
Points : 6 113
Points : 6 113
Bonjour,

il faut rajouter la gestion du clic sur tes input_cmd pour voir ton ID masqué réapparaître, c'est tout ce qui manque ici.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function foo(){
    $("#validerCde").css({"visibility":     
        ($('.input_cmd[value=""]').length!=$('.input_cmd').length 
         ? "visible"
         : "hidden")
    });
}
 
$('.input_cmd').click(function() {
    $("#validerCde").css({"visibility": "visible"});
});
 
$("document").ready(function()  {
foo();
...
__________________
C'est par l'adresse que vaut le bûcheron, bien plus que par la force. Homère

Installation de Code::Blocks sous Debian à partir de Nightly Builds
Arnaud F. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2011, 09h36   #15
Membre confirmé
 
Avatar de arthuro45
 
Arthur Salomon
Développeur du dimanche
Inscription : juillet 2009
Messages : 592
Détails du profil
Informations personnelles :
Nom : Arthur Salomon
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Développeur du dimanche

Informations forums :
Inscription : juillet 2009
Messages : 592
Points : 213
Points : 213
Citation:
il faut rajouter la gestion du clic sur tes input_cmd pour voir ton ID masqué réapparaître, c'est tout ce qui manque ici.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function foo(){
    $("#validerCde").css({"visibility":     
        ($('.input_cmd[value=""]').length!=$('.input_cmd').length 
         ? "visible"
         : "hidden")
    });
}
 
$("document").ready(function()  {
foo();
 
$('.input_cmd').keyup(function() {
    foo();
})
...
J'ai adapté à mon besoin et ça fonctionne. Merci pour ton aide.
arthuro45 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2011, 22h27   #16
Membre confirmé
 
Avatar de arthuro45
 
Arthur Salomon
Développeur du dimanche
Inscription : juillet 2009
Messages : 592
Détails du profil
Informations personnelles :
Nom : Arthur Salomon
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Développeur du dimanche

Informations forums :
Inscription : juillet 2009
Messages : 592
Points : 213
Points : 213
Je reviens rapidement sur cette fonction qui fonctionne sous ie6 mais pas sous ie8 ni firefox pour une raison inconnue :

Code :
1
2
3
4
5
6
7
function affMasqBtn(){
    $("#validerCde").css({"visibility":     
        ($('.input_cmd[value=""]').length!=$('.input_cmd').length 
         ? "visible"
         : "hidden")
    });
}
arthuro45 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/03/2011, 08h46   #17
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 007
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 007
Points : 45 091
Points : 45 091
le visibility est il initialisé avant au niveau de tes .input_cmd
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/03/2011, 08h51   #18
Membre confirmé
 
Avatar de arthuro45
 
Arthur Salomon
Développeur du dimanche
Inscription : juillet 2009
Messages : 592
Détails du profil
Informations personnelles :
Nom : Arthur Salomon
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Développeur du dimanche

Informations forums :
Inscription : juillet 2009
Messages : 592
Points : 213
Points : 213
Citation:
le visibility est il initialisé avant au niveau de tes .input_cmd
Oui

Code :
if($stockApresLivraison==0){ $disable = "style='visibility: hidden'"; } else { $disable = ''; }
Code :
<input type="text" '.$disable.' name="'.$row['ascart'].'-'.$row['asdese'].'" value="" class="input_cmd" />
Edit :

Citation:
le visibility est il initialisé avant au niveau de tes .input_cmd
En fait non, le css de .input_cmd ne contient pas visibility.
arthuro45 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h13.


 
 
 
 
Partenaires

Hébergement Web