So aktivieren oder deaktivieren Sie die Kontrollkästchen basierend auf ein click-Ereignis?

Habe ich eine web-app (PHP), und ich habe, dies zu ändern. Ich bin eher ein Datenbank, scripting guy, bitte tragen mit mir auf diesen einen!

Ich habe 8 Kästchen (glaube, nummeriert von 1~8) in eine form. Ich habe zu implementieren, die ein Zustand, wo sich in :

If one of the first 4 checkboxes are checked (only one checkbox can be checked in the first 4),
Then the next 4 checkboxes should be disabled
Else the next 4 checkboxes should be enabled.

Meine Lösung :

  • Machen die ersten 4 Checkboxen, radiobuttons, um zu bestätigen, um die nur eine
    checkbox ausgewählt werden können
    Zustand.
  • Deaktivieren/Aktivieren Sie die nächsten 4 Checkboxen auf der Grundlage der oben genannten Maßnahmen. So,
    wenn der radiobutton ist nicht markiert, dann die nächsten 4 Checkboxen sollten
    zur Auswahl zur Verfügung.

Muss ich eigentlich deaktivieren Sie die Checkboxen anstatt ausblenden mit jQuery, also die Checkboxen werden sollte solidgray (nicht überprüft), wenn Sie deaktiviert ist.

Beispiel-code (abgestreift einige Formatierungen Durcheinander, für die anderen der Suche nach einer ähnlichen Lösung) :

        <div>
            <input type="checkbox" name="check1" value="1" id="check1" <?php if (!empty($rows['check1'])) { echo 'checked="checked"'; } ?> />
            <input type="checkbox" name="check2" value="1" id="check2" <?php if (!empty($rows['check2'])) { echo 'checked="checked"'; } ?> />
            <input type="checkbox" name="check3" value="1" id="check3" <?php if (!empty($rows['check3'])) { echo 'checked="checked"'; } ?> />
            <input type="checkbox" name="check4" value="1" id="check4" <?php if (!empty($rows['check4'])) { echo 'checked="checked"'; } ?> />
            <input type="checkbox" name="check5" value="1" id="check5" <?php if (!empty($rows['check5'])) { echo 'checked="checked"'; } ?> />
            <input type="checkbox" name="check6" value="1" id="check6" <?php if (!empty($rows['check6'])) { echo 'checked="checked"'; } ?> />
            <input type="checkbox" name="check7" value="1" id="check7" <?php if (!empty($rows['check7'])) { echo 'checked="checked"'; } ?> />
            <input type="checkbox" name="check8" value="1" id="check8" <?php if (!empty($rows['check8'])) { echo 'checked="checked"'; } ?> />
        </div>

Meine Anforderungen :

  • Was ist der effizienteste Weg, dies zu tun? (einfach ohne komplizierende das problem)
  • Jeder Beispielcode ist sehr geschätzt.
  • Hasse es dies zu sagen, aber jQuery wäre der einfachste Weg. Sie können zuweisen, Anzahl 4 onClick-events und deaktivieren Sie die nicht ausgewählte Kontrollkästchen, wenn Sie erreichen, Ihre gewünschte Anzahl.
  • nach id Sie geschlossen, input-tag, aber Sie sollten öffnen, php <?
  • Ich würde nicht wechseln, um radio-buttons, wie man Sie nicht ausschalten, so dass nur die Dinge zu komplizieren mehr.
  • Barlas : Bearbeiten. Editor Durcheinander diese. @ Dainis : Können Sie bitte erläutern oder post-Beispiel-code? @ jeroen : ich dachte, es ist esier zu verwenden-radio-button, kann aber nicht! Vielen Dank für das feedback. Ich werde erkunden Sie alle Kontrollkästchen, Lösung.
  • Nicht sicher, warum dies so ist, wird downvoted! Moderatoren, bitte schließen Sie die Frage, ob Sie denken, das macht keinen Sinn.
InformationsquelleAutor ThinkCode | 2012-09-24
Schreibe einen Kommentar