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 11/01/2012, 12h33   #1
Invité régulier
 
Homme
Développeur .NET
Inscription : décembre 2011
Messages : 22
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur .NET
Secteur : Bâtiment

Informations forums :
Inscription : décembre 2011
Messages : 22
Points : 9
Points : 9
Par défaut envoi de paramètre dans une fonction jQuery depuis ASP.NET

Bonjour,
Je développe une application dont je ne maitrise pas le nombre d'éléments qui seront présents dans ma page.

Je veux donc créer un bouton dans chaque élément (j'utilise des Aspanel pour les éléments et des asp:linkbutton pour les bouton).
Pour mes boutons, je veux indiquer dans l'évènement OnClientClick une fonction javascript identique pour tous les boutons et passer un paramètre pour indiquer l'ID de mon Panel.
Pour ça, ça semble fonctionner.

Par contre, je n'arrive pas à bien comprendre dans ma fonction javascript ce qui ne va pas pour faire du jQuery.

Dans mon code-behind ASP, j'ai :
Code :
1
2
3
4
5
LinkButton bDevelopperPiece = new LinkButton();
bDevelopperPiece.ID = "BDevelopper" + inumPiece.ToString();
bDevelopperPiece.CssClass = "bdevelopperbloc";
bDevelopperPiece.ToolTip = "Développer";
bDevelopperPiece.OnClientClick = "alerter('" + bDevelopperPiece.ID + "');return false;";
Et dans ma fonction javascript, j'ai mis :
Code :
1
2
3
4
5
function alerter(Texte) {
        var $MonEquipement = $('' + Texte + '');
        $MonEquipement.fadeOut();
        return false;
};
En fait, je veux faire disparaitre mon bouton, et seulement lui, quand je clique dessus.

Je ne dois pas bien comprendre le principe dans jQuery.
Si quelq'un peut m'aider pour me dire ce qu'il faut mettre dans ma fonction alerter().

Merci
jmatys est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2012, 12h52   #2
Membre confirmé
 
Inscription : décembre 2009
Messages : 249
Détails du profil
Informations forums :
Inscription : décembre 2009
Messages : 249
Points : 219
Points : 219
Je pense t'as mal compris comment on utilise jQuery ... Pour sélectionner par un identifiant tu utilise # :

Code :
1
2
3
4
5
6
 
function alerter(Texte) {
        var MonEquipement = $('#' + Texte);
        MonEquipement.fadeOut();
        return false;
};
ticroch est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2012, 12h55   #3
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 808
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 808
Points : 35 789
Points : 35 789
Tout d'abord, le code ASP, c'est bien joli mais on s'en moque royalement : JavaScript s'exécute coté client, c'est donc le code HTML généré qui est utile !

Sinon, il y a des erreurs dans ton code.
* '' + Texte + '' : à quoi servent les '' ???
* $('' + Texte + '') : cette syntaxe recherche les balises de type "Texte"... je doute qu'il y en ai dans ta page ! Pour rechercher un id, il faut faire précéder d'un "#".
* "alerter('" + bDevelopperPiece.ID + "');return false;" : si ton élément est de type button, le return false ne sert à rien... puisqu'un bouton n'a pas d'action par défaut. D'autre part, au lieu d'essayer de passer l'id, tu peux aussi bien passe this en paramètre :
Code :
bDevelopperPiece.OnClientClick = "alerter(this);";
Code :
1
2
3
4
5
function alerter(elem) {
        var $MonEquipement = $(elem);
        $MonEquipement.fadeOut();
        return false; // Ce return ne sert à rien non plus...
};
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2012, 12h58   #4
Membre confirmé
 
Inscription : décembre 2009
Messages : 249
Détails du profil
Informations forums :
Inscription : décembre 2009
Messages : 249
Points : 219
Points : 219
oui comme ca c'est encore mieux ^^

une petite question, a quoi servent les $ dans $MonEquipement ?
ticroch est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2012, 13h18   #5
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 808
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 808
Points : 35 789
Points : 35 789
Citation:
Envoyé par ticroch
une petite question, a quoi servent les $ dans $MonEquipement ?
A vrai dire, c'est parfois une confusion avec le nommage des variables en PHP, cependant, c'est aussi devenu une habitude chez certains développeurs jQuery pour pouvoir identifier facilement les variables représentant un objet jQuery
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2012, 13h21   #6
Membre confirmé
 
Inscription : décembre 2009
Messages : 249
Détails du profil
Informations forums :
Inscription : décembre 2009
Messages : 249
Points : 219
Points : 219
Citation:
c'est aussi devenu une habitude chez certains développeurs jQuery pour pouvoir identifier facilement les variables représentant un objet jQuery
ouais c'est pas bête comme trucs, je n'y avais jamais pensé merci pour cette explication
ticroch est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2012, 16h07   #7
Invité régulier
 
Homme
Développeur .NET
Inscription : décembre 2011
Messages : 22
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur .NET
Secteur : Bâtiment

Informations forums :
Inscription : décembre 2011
Messages : 22
Points : 9
Points : 9
Citation:
Tout d'abord, le code ASP, c'est bien joli mais on s'en moque royalement : JavaScript s'exécute coté client, c'est donc le code HTML généré qui est utile !
ça a quand même son importance puisque je veux passer un élément comme paramètre.
Mais effectivement, pour faire disparaître le bouton sur lequel je click, alerter(this) suffit.

Par contre, si je veux que ce soit d'autres éléments qui disparaissent ou réapparaissent sur le clic du bouton, comment je peux faire ? Je pensais qu'en indiquant l'ID de l'élément à faire disparaître ou apparaître.

J'ai dans mon code ASP :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
Panel pListeEqt=new Panel();
pListeEqt.ID = "DivListEqt" + inumPiece.ToString();
pListeEqt.CssClass = "divListEqt";
 
inumEqt=0;
foreach (Equipement MyEquipement in MyPiece.Eqts)
{
    inumEqt++;
    Panel pEqt = new Panel();
    pEqt.ID = MyEquipement.Name + inumEqt.ToString();
    pEqt.CssClass = "pequipement";
    Label lEqtDesc = new Label();
    lEqtDesc.CssClass = "lnomequipement";
    lEqtDesc.ID = "Nom" + MyEquipement.Name + inumEqt.ToString();
    lEqtDesc.Text = MyEquipement.Name;
 
    pEqt.Controls.Add(lEqtDesc);
    pListeEqt.Controls.Add(pEqt);
}
Donc j'ai un panel pListeEqt qui englobe plusieurs panel pEqt.

Mon bouton est en-dehors de pListeEqt, mais le bouton et pListeEqt sont dans un même panel. Je veux que chaque bouton créé puisque faire apparaître ou disparaître la pListeEqt adéquat.

Quel paramètre je mets dans l'appel de la fonction alerter(...)?
Ou faut-il que je m'y prenne autrement ?

Merci à vous
jmatys est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2012, 16h17   #8
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 808
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 808
Points : 35 789
Points : 35 789
Citation:
Envoyé par jmatys
Par contre, si je veux que ce soit d'autres éléments qui disparaissent ou réapparaissent sur le clic du bouton, comment je peux faire ? Je pensais qu'en indiquant l'ID de l'élément à faire disparaître ou apparaître.
Tu as déjà eu la réponse...
Citation:
Envoyé par ticroch
Je pense t'as mal compris comment on utilise jQuery ... Pour sélectionner par un identifiant tu utilise # :

Code :
1
2
3
4
5
6
 
function alerter(Texte) {
        var MonEquipement = $('#' + Texte);
        MonEquipement.fadeOut();
        return false;
};
Citation:
Envoyé par Bovino
* $('' + Texte + '') : cette syntaxe recherche les balises de type "Texte"... je doute qu'il y en ai dans ta page ! Pour rechercher un id, il faut faire précéder d'un "#".
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2012, 17h16   #9
Invité régulier
 
Homme
Développeur .NET
Inscription : décembre 2011
Messages : 22
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur .NET
Secteur : Bâtiment

Informations forums :
Inscription : décembre 2011
Messages : 22
Points : 9
Points : 9
Merci pour vos réponses.
Ca fonctionne parfaitement maintenant.

En fait sur le principe j'avais bien compris, mais avec les joies de l'ASP, je n'avais pas vu qu'un Panel ayant un ID nommé "coucou" était converti en HTML "ContentPlaceHolder_coucou".
Avec l'outil de développement de Chrome, j'ai pu m'en rendre compte.

Merci beaucoup.
jmatys est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2012, 17h28   #10
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 808
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 808
Points : 35 789
Points : 35 789
D'où la remarque
Citation:
Tout d'abord, le code ASP, c'est bien joli mais on s'en moque royalement : JavaScript s'exécute coté client, c'est donc le code HTML généré qui est utile !
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2012, 17h42   #11
Invité régulier
 
Homme
Développeur .NET
Inscription : décembre 2011
Messages : 22
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur .NET
Secteur : Bâtiment

Informations forums :
Inscription : décembre 2011
Messages : 22
Points : 9
Points : 9
mea culpa.
jmatys 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 22h51.


 
 
 
 
Partenaires

Hébergement Web