jQuery wählen Sie mehrere Attribute aus und aktivieren / deaktivieren Sie ein anderes Kontrollkästchen

8

Wie kann ich die folgenden Checkboxen in verschiedenen Zeilen identifizieren und sie separat aktivieren / deaktivieren?

%Vor%

wobei [Nummer] dynamisch erstellt wird.

Beispiel: Wenn "F" markiert ist, deaktivieren Sie "PR". Wenn "PR" aktiviert ist, deaktivieren Sie "F". Wenn "DPH" aktiviert ist, deaktivieren Sie alle.

%Vor%

Dieser Code funktioniert, aber wenn ich das Kontrollkästchen in der zweiten Zeile deaktiviere, wird auch das Kontrollkästchen in der ersten Zeile deaktiviert:

    
Adrian 07.01.2014, 22:05
quelle

7 Antworten

6

Dies wird tun, was Sie angefordert haben:

jsFiddle-Arbeitsbeispiel

%Vor%

Anmerkungen:

  1. Oben deklarierte Variablen, damit sie nicht mit jedem Kontrollkästchen neu deklariert werden müssen, klicken Sie auf

  2. jsFiddle fügt das Deaktivieren von F und PR hinzu, wenn DPH aktiviert ist ( andernfalls kann der Benutzer nach der Überprüfung des DPH-Feldes DANN entweder PR oder F prüfen).

  3. Sie müssen Ihre Checkboxen nicht als Gruppen abfragen (wie vom vorherigen Responder vorgeschlagen)

  4. Wenn es schwierig ist, zu folgen, kann diese Zeile in drei Zeilen unterteilt werden:
    num = $this.attr('name').split('[')[1].replace("]", "");

name = $this.attr('name'); //returns eph-ds[####][]
temp = name.split('[')[1]; //returns ####]
num = temp.replace("]", ""); //removes trailing ]

    
gibberish 10.01.2014, 17:57
quelle
4

Das API-Beispiel verwendet Anführungszeichen, um dieses Problem zu beheben.

%Vor%

Und um sie alle unabhängig von der dynamischen Zahl auszuwählen, verwenden Sie attr^=value

%Vor%

Ссылка

    
Kevin B 07.01.2014 22:07
quelle
1

Versuchen Sie Folgendes:

%Vor%     
gthacoder 07.01.2014 22:09
quelle
1

So:

%Vor%     
user2121189 07.01.2014 22:18
quelle
1

Sie müssen die Kontrollkästchen umbrechen, um sie als Gruppen abfragen zu können. Ich habe Ihr Markup folgendermaßen vereinfacht:

%Vor%

Sie können immer noch Ihre Labels und alle dom-Elemente hinzufügen, die Sie für Ihr Styling und Ihre Struktur haben, aber wichtig ist ein Wrapper (div.row in meinem Fall)

Verwenden Sie jetzt das folgende Skript:

%Vor%

Das sollte es tun :) Sie können immer noch die .isChecked (), .check () und .uncheck () auf einem anderen Kontrollkästchen in Ihrem Dokument verwenden (Sie müssen sich also nicht wiederholen)

    
Elie Andraos 10.01.2014 15:10
quelle
1

Überprüfen Sie dieses JSFiddle-Beispiel

HTML-Code

%Vor%

JQuery -Code

%Vor%     
Abhijith A C 13.01.2014 10:46
quelle
1

hat das in 10 Minuten gemacht

bitte überprüfen Sie meine minimalistische Annäherung

%Vor%

Ich denke, dass das erforderliche Verhalten von Chekboxen nichts mit ihren Werten zu tun hat

    
sumit 16.01.2014 10:01
quelle

Tags und Links