2010-12-07 6 views
0

Auf meiner Umfrage Seite habe ich eine Gruppe von radiobuttonlists mit identischen Elemente haben alle die gleiche Klasse:jQuery Radiobuttonlist Abhängigkeiten

  <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> 

Ich versuche, alle radiobuttonlists haben „nein“ (Wert 0) zu verhindern, so Wenn ich eines davon auswähle (klicke), muss ich wissen, welche Werte sie alle ausgewählt haben außer dem, auf den ich geklickt habe.

 $('.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(); 

      } 

     }); 

Danke.

Antwort

1

Es ist ein wenig unklar, was Sie nach, vielleicht könnten Sie genauer erklären, was Sie wollen. Ich denke, was Sie suchen, kann durch Filtern nach Wert Attribut [value='0'] erreicht werden siehe Beispiel unten (ungetestet). Ich hoffe das hilft.

$('.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

Danke für die Antwort. Ja, das ist es, wonach ich suche - stelle sicher, dass mindestens einer von ihnen einen anderen Wert als "0" ausgewählt hat. – Victor

+0

@Victor: Wenn dies für Sie funktioniert, markieren Sie die Antwort als akzeptiert. – James

Verwandte Themen