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

ASP.NET Discussion :

CheckBoxList et Javascript


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Morad ISSOULGHANE
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Juin 2009
    Messages : 98
    Par défaut CheckBoxList et Javascript
    Bonjour,

    Je voudrais que lorsque je clique sur un Item (avec une valeur précise) dans une CheckBoxList je déclencha une fonction Javascript.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <asp:CheckBoxList ID="cblAfficheRessource" runat="server">
                <asp:ListItem Text="Text1" Value="Value1"></asp:ListItem>
                <asp:ListItem Text="Text2" Value="Value2"></asp:ListItem>
            </asp:CheckBoxList>
    Je veux que lorsque je Check l'Item avec la valeur Value2 j'exécute une fonction Javascript !!!

  2. #2
    Membre Expert
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Février 2010
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 1 467
    Par défaut
    Bonjour,

    Une petite recherche sur Google t'aurais montré de nombreux scripts différents à utiliser que ce soit en JavaScript ou JQuery.

    Un élément de réponse, ensuite à toi de te débrouiller :

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    <form id="form1" runat="server">
     <asp:CheckBoxList id="CheckBoxList1" runat="server">
      <asp:listitem Value="1">Item 1</asp:listitem>
      <asp:listitem Value="2">Item 2</asp:listitem>
      <asp:listitem Value="3">Item 3</asp:listitem>
     </asp:CheckBoxList>
     <input type="button" onclick="readCheckBoxList();" value="Read CheckBoxList" /> 
    </form>
    <script type="text/javascript">
    <!--
    function getCheckBoxListItemsChecked(elementId) 
    {
     var elementRef = document.getElementById(elementId);
     var checkBoxArray = elementRef.getElementsByTagName('input');
     var checkedValues = '';
     for (var i=0; i<checkBoxArray.length; i++) 
     { 
      var checkBoxRef = checkBoxArray[i];
      if ( checkBoxRef.checked == true ) 
      {
       /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
       // AFAIK, you cannot get the value property of a ListItem in a CheckBoxList.
       // You can only get the Text property, which will be in an HTML label element.
       /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
       var labelArray = checkBoxRef.parentNode.getElementsByTagName('label');
       if ( labelArray.length > 0 )
       {
        if ( checkedValues.length > 0 )
         checkedValues += ', ';
        checkedValues += labelArray[0].innerHTML;
       }
      }
     }
     return checkedValues;
    }
    function readCheckBoxList() 
    {
     var checkedItems = getCheckBoxListItemsChecked('<%= CheckBoxList1.ClientID %>');
     alert('Items checked: ' + checkedItems);
    }
    // -->
    </script>
    En espérant t'avoir aidé.

  3. #3
    Membre confirmé Avatar de Morad ISSOULGHANE
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Juin 2009
    Messages : 98
    Par défaut
    Merci pour la réponse, mais moi je veux un test sur la valeur et non pas sur le text, j'ai bien trouvé cet exemple sur le net. Mais le problème comme je t'ai déja dit, c'est que moi je veux un test sur la valeur !!!

    Merci pour ta réponse quand même

  4. #4
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Par défaut
    Le commentaire dans le code fournis par Nicolas Esprit est assez clair sur ce point :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
       // AFAIK, you cannot get the value property of a ListItem in a CheckBoxList.
       // You can only get the Text property, which will be in an HTML label element.
       /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    tu ne pourras récupérer que le texte de l'élément sélectionné.

  5. #5
    Membre Expert
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Février 2010
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 1 467
    Par défaut
    Une autre solution serait d'utiliser un UpdatePanel, une méthode c# qui vérifiera la valeur et ensuite un petit RegisterStartupScript pour appeller la méthode Javascript de ton choix.

    C'est sûr qu'il serait plus pratique d'appeller directement une seule méthode JavaScript...

  6. #6
    Membre confirmé Avatar de Morad ISSOULGHANE
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Juin 2009
    Messages : 98
    Par défaut
    oui c'est exact calagan99 !!!
    mais est ce que ce n'est pas possible en ajoutant des attributs aux éléments de la CheckBoxList après binding en codebehind.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    foreach (ListItem item in this.cblAfficheRessource.Items)
            {
                if(item.value=="value2")
                   item.Attributes.Add("onclick", "javascript:selectChanged()");
            }
    J'ai testé ça, mais ça ne marche pas

  7. #7
    Membre Expert
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Février 2010
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 1 467
    Par défaut
    Ca devrait fonctionner normalement. A quel moment ajoutes-tu les attributs ? As-tu essayé dans le Pre_Render ?

    Essaye aussi ceci pour vérifier que la fonction est bien apellée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cblAfficheRessource.Attributes.Add("onclick", "alert(this.id);");
    De même, vérifie le code HTML généré pour voir si ces attributs sont bien intégrés à ta page.

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

Discussions similaires

  1. Supprimer un item de CheckBoxList en javascript
    Par klr54000 dans le forum ASP.NET Ajax
    Réponses: 0
    Dernier message: 02/05/2011, 16h26
  2. Réponses: 2
    Dernier message: 16/11/2009, 13h58
  3. CheckBoxList : récupérer les éléments sélectionnés avec javaScript
    Par kroukse dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 13/11/2009, 17h04
  4. Réponses: 0
    Dernier message: 13/11/2009, 16h36
  5. Accéder à une CheckboxList en javascript
    Par aymron dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 06/06/2006, 12h23

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