2010-12-07 19 views
0

Sur ma page d'enquête j'ai un groupe de radiobuttonlists avec des objets identiques ont tous la même classe:jQuery dépendances RadioButtonList

  <asp:RadioButtonList ID = "rbFirstList" runat = "server" CssClass= "tbiDiagnosis"> 
       <asp:ListItem Text = "0. No" Value = "0"></asp:ListItem> 
       <asp:ListItem Text = "1. Yes, one episode" Value = "1"></asp:ListItem> 
       <asp:ListItem Text = "2. Yes, two episodes" Value = "2"></asp:ListItem> 
       <asp:ListItem Text = "3. Yes, three episodes" Value = "3"></asp:ListItem> 
       <asp:ListItem Text = "4. Yes, four episodes" Value = "4"></asp:ListItem> 
       <asp:ListItem Text = "5. Yes, five or more episodes" Value = "5"></asp:ListItem> 
       <asp:ListItem Text = "6. Uncertain" Value = "6"></asp:ListItem> 

      </asp:RadioButtonList> 

      <asp:RadioButtonList ID = "rbSecondList" runat = "server" CssClass= "tbiDiagnosis"> 
       <asp:ListItem Text = "0. No" Value = "0"></asp:ListItem> 
       <asp:ListItem Text = "1. Yes, one episode" Value = "1"></asp:ListItem> 
       <asp:ListItem Text = "2. Yes, two episodes" Value = "2"></asp:ListItem> 
       <asp:ListItem Text = "3. Yes, three episodes" Value = "3"></asp:ListItem> 
       <asp:ListItem Text = "4. Yes, four episodes" Value = "4"></asp:ListItem> 
       <asp:ListItem Text = "5. Yes, five or more episodes" Value = "5"></asp:ListItem> 
       <asp:ListItem Text = "6. Uncertain" Value = "6"></asp:ListItem> 

      </asp:RadioButtonList> 

Je suis en train de prévenir tous les radiobuttonlists ont « non » sélectionné (valeur 0), donc quand je sélectionne (clique) sur l'un d'entre eux j'ai besoin de savoir quelles valeurs ils ont tous sélectionnées sauf celle sur laquelle j'ai cliqué.

 $('.tbiDiagnosis input:radio').click(function(e) { 

      if ($(this).val() == 0) { 

       //selector is obviously incorrect, how would I do it here? 
       if ('.tbiDiagnosis input:checked:not($this)).val() > 0).length == 0) 
        e.preventDefault(); 

      } 

     }); 

Merci.

Répondre

1

Il est un peu difficile de savoir ce que votre après, peut-être vous pourriez expliquer plus en détail ce que vous recherchez. Je pense que ce que vous cherchez peut être atteint en filtrant par l'attribut de valeur [value='0'] voir l'exemple ci-dessous (non testé). J'espère que ça aide.

$('.tbiDiagnosis input:radio').click(function(e) { 

    if ($(this).val() == 0) { 
     var checked = $(".tbiDiagnosis input:checked"); 
     var filtered = checked.not(checked.find("[value='0']")); 

     if (filtered.length == 0) 
      e.preventDefault(); 

    } 

}); 
+0

Merci pour la réponse. Oui, c'est ce que je suis après - assurez-vous qu'au moins l'un d'entre eux a sélectionné une valeur autre que "0". – Victor

+0

@Victor: Si cela fonctionne pour vous, veuillez marquer la réponse comme acceptée. – James