it-swarm.com.de

Kontrollkästchen Gruppenverhalten

Ich habe eine Gruppe von Kontrollkästchen, die durch ein Kontrollkästchen "Alle" gesteuert werden. Ich schlage das Verhalten des Kontrollkästchens "Alle" und seiner abhängigen Kontrollkästchen wie folgt vor:

  1. Standardbedingung: "Alle" ist aktiviert und aktiviert. Die abhängigen Kontrollkästchen sind alle aktiviert und deaktiviert.
  2. Deaktivieren Sie "Alle": Aktivieren Sie alle abhängigen Elemente, aber löschen Sie sie NICHT.
  3. Aktivieren Sie "Alle": Die abhängigen Kontrollkästchen sind alle aktiviert und deaktiviert.
  4. Aktivieren/Deaktivieren Sie die abhängigen Elemente: Sie wirken sich nicht auf das Kontrollkästchen "Alle" oder andere Elemente aus.

Dies ist etwas anders und eine einfachere Implementierung als von YUI vorgeschlagen, wie hier beschrieben:

http://www.yuiblog.com/blog/2010/03/01/gallery-checkbox-group/

Scheint dies ein vernünftiges Verhalten zu sein?

5
S V

Das Aktivieren von "ALL" in der Regel ist nur eine bequeme Möglichkeit, alle entsprechenden Entitäten/Kontrollkästchen auszuwählen. Wenn dieses übergeordnete Kontrollkästchen aktiviert ist, halte ich Deaktivieren der untergeordneten Kontrollkästchen nicht für eine gute Idee.

Wenn zum Beispiel 20 Kontrollkästchen vorhanden sind und ich nur 18 aktivieren möchte, aktiviere ich zuerst das Kontrollkästchen "ALLE", wodurch alle 20 Kontrollkästchen für mich aktiviert werden, und deaktiviere dann die 2, die ich nicht möchte . Somit sind nur 3 Klicks erforderlich, im Gegensatz zu 18 separaten Klicks.

Daher würde ich die einzelnen Kontrollkästchen nicht deaktivieren, wenn das Kontrollkästchen "ALL" aktiviert ist.

7
Girish

In vielen Situationen möchte der Benutzer zwischen Alle prüfen und einer Teilmenge von Kontrollkästchen hin und her wechseln. Wenn dies der Fall ist, dann nicht automatisch alle Kontrollkästchen aktivieren wenn Alle aktivieren aktiviert ist, da dadurch die Arbeit gelöscht wird, die der Benutzer später verwenden möchte. Das Deaktivieren der einzelnen Kontrollkästchen reicht aus, damit die meisten Benutzer verstehen, dass ihre Einstellungen nicht zutreffen. Auf diese Weise erhalten die Benutzer auch eine Vorschau auf das, was sie erhalten würden, wenn sie "Alle prüfen" deaktivieren. Mit einem einzigen Klick können die Benutzer "Alle prüfen" rückgängig machen oder zurücksetzen.

In jedem Fall sollte die Funktion Alle prüfen wahrscheinlich nicht als Kontrollkästchensteuerung behandelt werden. Es ist seltsam, wenn das Deaktivieren von dazu führt, dass aktiviert wird. Wenn Sie die Deaktivierung nicht verwenden, ist dies noch schlimmer, da Sie jetzt alle einzelnen Kontrollkästchen aktivieren sollten, wenn Alle aktivieren aktiviert ist. Dies bedeutet, dass durch Aktivieren eines Kontrollkästchens eine Reihe anderer Kontrollkästchen aktiviert werden. Kontrollkästchen dürfen jedoch keine Befehle wie das Bearbeiten von Attributen ausführen. Wenn der Benutzer eines der einzelnen Kontrollkästchen deaktiviert, muss sich das Kontrollkästchen Alle aktivieren ändern. Auch hier wirkt sich ein Kontrollkästchen auf die Einstellungen eines anderen Steuerelements aus.

Die Lösung besteht darin, Optionsfelder zu verwenden, um zwischen Alle und Benutzerdefiniert (oder was auch immer) zu wählen. Wenn Sie Benutzerdefiniert auswählen, werden die einzelnen Kontrollkästchen aktiviert. Auf diese Weise können Sie das Optionsfeld "Benutzerdefiniert" in der Nähe der einzelnen Kontrollkästchen (möglicherweise von einem Rahmen umgeben) platzieren, damit klar ist, welche Kontrollkästchen aktiviert werden. Es macht es auch einfach, eine Keine-Option hinzuzufügen, was in Ihrem Fall eine gute Idee sein kann.

Eine Alternative besteht darin, Alle überprüfen als Befehl zu behandeln und daraus einen Befehlsschaltfläche zu machen, mit dem normalerweise die Attribute oder Eigenschaften von etwas geändert werden. Da eine Befehlsschaltfläche keinen dauerhaften Status hat, wird sie durch das Aktivieren der einzelnen Kontrollkästchen nicht beeinflusst. Zusätzlich zur Schaltfläche Alle möchten Sie wahrscheinlich eine Schaltfläche zum Zurücksetzen, mit der die einzelnen Kontrollkästchen auf den Stand vor der Auswahl von Alle zurückgesetzt werden. Eine Schaltfläche Löschen deaktiviert alle Kontrollkästchen.

2

Ich stimme Girish hinsichtlich der Deaktivierung von Kontrollkästchen für Kinder zu.

Hier einige weitere Kommentare zur vorgeschlagenen Interaktion.

'1.Standardbedingung: "Alle" ist aktiviert und aktiviert. Die abhängigen Kontrollkästchen sind alle aktiviert und deaktiviert. ' Ob das Kontrollkästchen Alle standardmäßig aktiviert oder deaktiviert ist, hängt vom Zweck der Elemente in der Liste ab. Hier sind zwei Beispiele, in denen sich der Standardwert von Alle unterscheidet.
Beispiel 1: Der Seiteninhalt ist eine Liste der Ergebnisse einer Abfrage. Die Kontrollkästchen repräsentieren Facetten der Ergebnisse. Alle Ergebnisse werden angezeigt, dh alle Werte der Facetten werden aktiviert und das Kontrollkästchen Alle ist aktiviert.
Beispiel 2: Der Seiteninhalt ist eine Liste von Elementen, auf die der Benutzer reagieren kann (z. B. Löschen, Verschieben, Kopieren). Neben jedem Element befindet sich ein Kontrollkästchen. Der Benutzer kann auf mehrere Elemente gleichzeitig reagieren, indem er mehr als ein Kontrollkästchen aktiviert. In dieser Situation ist keines der Elemente standardmäßig aktiviert. Dies bedeutet, dass das Kontrollkästchen Alle nicht standardmäßig aktiviert ist.

'5. Das Kontrollkästchen Alle zeigt einen dritten Status an, um anzuzeigen, dass ein oder mehrere Kontrollkästchen in der Liste aktiviert sind. '
Das war nicht in der ursprünglichen Frage. Ich habe das hinzugefügt. Es basiert auf den Empfehlungen in den MS- und Apple UX-Richtlinien.

0
ux s e name