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

jQuery Discussion :

envoi de paramètre dans une fonction jQuery depuis ASP.NET


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2011
    Messages
    33
    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 : 33
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  2. #2
    Membre expérimenté
    Inscrit en
    Décembre 2009
    Messages
    282
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 282
    Par défaut
    Je pense t'as mal compris comment on utilise jQuery ... Pour sélectionner par un identifiant tu utilise # :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    function alerter(Texte) {
            var MonEquipement = $('#' + Texte);
            MonEquipement.fadeOut();
            return false;
    };

  3. #3
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    bDevelopperPiece.OnClientClick = "alerter(this);";
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  4. #4
    Membre expérimenté
    Inscrit en
    Décembre 2009
    Messages
    282
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 282
    Par défaut
    oui comme ca c'est encore mieux ^^

    une petite question, a quoi servent les $ dans $MonEquipement ?

  5. #5
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    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 !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  6. #6
    Membre expérimenté
    Inscrit en
    Décembre 2009
    Messages
    282
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 282
    Par défaut
    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

  7. #7
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2011
    Messages
    33
    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 : 33
    Par défaut
    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 : 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
    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

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

Discussions similaires

  1. Tester l'existence d'un paramètre dans une fonction
    Par olivier1978 dans le forum Programmation (La)TeX avancée
    Réponses: 0
    Dernier message: 16/11/2007, 23h10
  2. Réponses: 6
    Dernier message: 24/07/2006, 15h22
  3. Réponses: 3
    Dernier message: 20/03/2006, 17h46
  4. [PL/SQL] Multi paramètre dans une fonction
    Par wiLL_ dans le forum Oracle
    Réponses: 2
    Dernier message: 28/02/2006, 17h31
  5. Réponses: 9
    Dernier message: 13/05/2005, 03h13

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