Wie am besten auf Änderung von vielen Checkboxen reagieren?



  • Moin moin,

    in einigen Programmen gibt es viele Checkboxen (z.B. xpAntispy) die man nach belieben anhaken kann und zum Schluss auf einen Button "Einstellungen übernehmen" klickt.
    Doch was ist der intelligenteste Weg auf alle Checkboxen-Änderungen zu reagieren, wenn der "Einstellungen übernehmen"-Button gedrückt wird?

    Das ist kein Scherz, mir fällt im Moment nur ein, dass man sich alle Startwerte merkt und sich beim Klick auf den Button mit den aktuellen Werten vergleicht. Bei einem Unterschied zwischen Start- und Jetzt-Wert, muss überprüft werden ob die Checkbox jetzt angehakt ist oder nicht und die dementsprechende Funktion ausgeführt werden.

    Gehts auch eleganter?



  • Hallo

    anders läst es sich nicht machen.

    bis bald
    akari



  • Immer wenn eine Checkbox verändert wird, wirst du darüber informiert, speicher alle Einträge die verändert wurden und beim Drücken des Button werden diese Änderungen vorgenommen.



  • hallo.

    folgendes problem tritt aber auf:
    user hakt checkbox1 an (onChange wird ausgelöst), er übelegt es sich anders, hakt checkbox1 wieder ab und drückt auf den button.
    die funktion für checkbox1 wird trotzdem ausgelöst, auch wenn es die für die nicht-angehakte checkbox ist.



  • zeig mal ein wenig code, ansonsten wird es schwer dazu was zu sagen!



  • Hi,

    code existiert noch nicht. ich wollte mir erstmal im voraus darüber klar werden, wie es denn am besten zu lösen ist



  • du speicherst dir alle geaenderten Checkboxes in einer Liste (oder bel. anderen Container, der eine entfernen() moeglichkeit gibt), die anfangs leer ist.
    onChangeCheckBox1() schaut nach, ob "checkbox1" bereits in der Liste eingetragen ist. Wenn ja, wirds wieder rausgeloescht, wenn nein, wirds reingeschrieben.

    Sobald "einstellungen uebernehmen" geklickt wird stehen in der Liste alle Einstellungen, die tatsaechlich geaendert wurden.



  • Alternativ könntest du auch erst beim Drücken des Buttons "Einstellungen speichern" alle Checkboxen abfragen und dann je nach Status darauf reagieren.


Anmelden zum Antworten