Ankündigung

Einklappen
Keine Ankündigung bisher.

Checkboxen die sich gegenseitig ausschließen

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Checkboxen die sich gegenseitig ausschließen

    Hallo nur ein kleines Problem, bei dem ich aber noch nicht durchsehe. Ich möchte zwei Checkboxen haben, die sich gegenseitig ausschließen. Wird die eine aktiviert, deaktiviert sich die andere und umgekehrt.
    Ich habe mir den Code zusammen gebaut, der aber leider nur in einer Richtung das Gewünschte zeigt. Wenn 2 aktiviert ist und man auf 1 klickt, funktioniert es so, wie ich es will. Aber ist 1 aktiviert, blockiert es die 2. Wo ist der Fehler?

    <!DOCTYPE html>
    <html>
    <body>

    Checkbox: <input type="checkbox" id="myCheck" onclick="myFunction()" checked="checked">
    Checkbox2: <input type="checkbox" id="myCheck2" onclick="myFunction()">

    <script>
    function myFunction() {
    var checkBox = document.getElementById("myCheck");
    var checkBox2 = document.getElementById("myCheck2");
    if (checkBox.checked == true){
    checkBox2.checked = false;
    }
    if (checkBox2.checked == true){
    checkBox.checked = false;
    }
    }
    </script>

    </body>
    </html>

  • #2
    Du fragst immer beide Boxen in der Reihenfolge ab, in der sie im Code stehen. Sind beide aktiv, springt immer Deine erste If-Abfrage an, welche erkennt, dass die erste Box aktiv ist. In der Folge wird immer die zweite Box deaktiviert – egal, welche zuerst aktiv war.

    Ich würde empfehlen, dem Funktionsaufruf immer this als Parameter zu übergeben. this enthält eine Referenz auf das HTML-Element, von dem aus die Funktion aufgerufen wird. Damit kannst Du also nachvollziehen, was angeklickt wurde. Der passende Code dazu könnte dann etwa so aussehen:

    HTML-Code:
    <!DOCTYPE html>
    <html>
    <body>
    
    Checkbox: <input type="checkbox" id="myCheck" onclick="myFunction(this)" checked="checked">
    Checkbox2: <input type="checkbox" id="myCheck2" onclick="myFunction(this)">
    
    <script>
    function myFunction(element) {
      var checkBox = document.getElementById("myCheck");
      var checkBox2 = document.getElementById("myCheck2");
      if (element.checked == true){
        if (element.id == "myCheck")
          checkBox2.checked = false;
        else
          checkBox.checked = false;
      }
    }
    </script>
    
    </body>
    </html>

    Kommentar


    • #3
      Hey cool. Danke. Funktioniert. Musste nur das 'else' hinter die eine geschweifte Klammer schieben, damit es nach meinen Vorstellungen klappt.
      Besten Dank.

      Kommentar


      • #4
        In diesem Fall könntest du auch einfach einen Radio Button nehmen. Da ist die Verriegelung schon drin und du brauchst kein JavaScript

        Kommentar

        homepage-forum.de - Hilfe für Webmaster! Statistiken

        Einklappen

        Themen: 56.375   Beiträge: 428.047   Mitglieder: 27.714   Aktive Mitglieder: 77
        Willkommen an unser neuestes Mitglied, Jugl.

        Online-Benutzer

        Einklappen

        621 Benutzer sind jetzt online. Registrierte Benutzer: 3, Gäste: 618.

        Mit 1.625 Benutzern waren am 17.03.2018 um 18:52 die meisten Benutzer gleichzeitig online.

        Die neuesten Themen

        Einklappen

        • arnego2
          Antwort auf hreflang Tags
          2 Domains eins für Französisch eins für Deutsch.
          Bei den Franzosen bin ich recht sicher das ihnen eine voll Französische Seite mehr gefallen würde als eine mit Deutschen geteilte. Das meinte ich mit dem Eigensinn der Menschen.

          Eine Webseite muss dem User gefallen, ihm was abzunehmen,...
          Gestern, 16:13
        • TheBablegum
          Meine Webseite, eure Meinung!
          Mooin,
          ich betreibe nun seit geraumer Zeit meine eigene Webseite zum Thema Paidmailer und Werbemöglichkeiten.
          Da ich noch relativ weit am Anfang stehe und das meine erste Webseite ist, suche ich auch immer wieder Meinungen und Verbesserungsvorschläge.
          Sei es jetzt zum Layout, der...
          Gestern, 15:30
        • Sempervivum
          Antwort auf Ausgabe als Link
          Danke für den Hinweis, PHP und Datenbanken sind weniger meine Stärke. Wenn man eine ID verwendet, wird das Ganze dann wesentlich einfacher.
          Gestern, 14:22
        • Ingo
          Antwort auf Ausgabe als Link
          Hi,
          urlencode wird ggf. nicht funktionieren. Besser wäre wie gesagt eine ID abzufragen und in den Link zu setzen.

          Gruß
          Ingo
          Gestern, 13:13
        • Sempervivum
          Antwort auf Ausgabe als Link
          Grundprinzip müsste etwa so aussehen:
          PHP-Code:
          $titel urldecode($_GET['titel']);
          $interpret urldecode($_GET['interpret']);
          $sql "SELECT text FROM texte where titel='" $titel "' and interpret='" $interpret "'";
          foreach (
          $pdo->query($sql) as 
          ...
          Gestern, 10:31

        Kostenlose Homepage bei Jimdo!

        Einklappen

        Jimdo

        Die neuesten Beiträge

        Einklappen

        • Atlan
          hreflang Tags
          Hallo,
          habe immer noch ein Problem mit den hreflang Tags

          unsere Seite: https://www.*****.com, besteht aus dem Deutschen Teil unter *****.com und dem französischen Teil unter *****.com/fr/.
          -----------
          <!DOCTYPE html>
          <html lang="de">
          ...
          23.03.2019, 16:41
        • arnego2
          Antwort auf hreflang Tags
          2 Domains eins für Französisch eins für Deutsch.
          Bei den Franzosen bin ich recht sicher das ihnen eine voll Französische Seite mehr gefallen würde als eine mit Deutschen geteilte. Das meinte ich mit dem Eigensinn der Menschen.

          Eine Webseite muss dem User gefallen, ihm was abzunehmen,...
          Gestern, 16:13
        • TheBablegum
          Meine Webseite, eure Meinung!
          Mooin,
          ich betreibe nun seit geraumer Zeit meine eigene Webseite zum Thema Paidmailer und Werbemöglichkeiten.
          Da ich noch relativ weit am Anfang stehe und das meine erste Webseite ist, suche ich auch immer wieder Meinungen und Verbesserungsvorschläge.
          Sei es jetzt zum Layout, der...
          Gestern, 15:30
        • Fragman
          Ausgabe als Link
          Hallo...

          habe eine Datenbank mit Songtexten mit Ausgabe auf einer Webseite. Es gibt eine Vorauswahl der Titel nach Buchstaben.
          Angezeigt wird dann eine Liste der Titel und des Interpreten.
          Wie mache ich aus der Ausgabe der Titel einen Link der dann den entsprechenden Text anzeigt??...
          21.03.2019, 21:05
        • Sempervivum
          Antwort auf Ausgabe als Link
          Danke für den Hinweis, PHP und Datenbanken sind weniger meine Stärke. Wenn man eine ID verwendet, wird das Ganze dann wesentlich einfacher.
          Gestern, 14:22
        • Rudolfo
          Antwort auf Online Speicherplatz / Storage / Cloud gesucht!
          Also ich bin auch ein überzeugter Cloud-Nutzer. Deswegen würde ich dir die Ratgeber von G Data empfehlen. Dieser zeigt alle Angebote, wichtige Information und erklärt auch ein paar Hintergründe. Ich bin selber auch durch den Ratgeber auf die Option der Cloud aufmerksam geworden und er hat mich überzeugt....
          ☁ Fotos, Videos, Dokumente: Einfach in die Cloud laden und teilen.☀ Wir zeigen Ihnen, wie sie funktioniert und wie im Cloud-Speicher alles sicher bleibt! ☁
          Gestern, 14:20
        • Ingo
          Antwort auf Ausgabe als Link
          Hi,
          urlencode wird ggf. nicht funktionieren. Besser wäre wie gesagt eine ID abzufragen und in den Link zu setzen.

          Gruß
          Ingo
          Gestern, 13:13
        • Sempervivum
          Antwort auf Ausgabe als Link
          Grundprinzip müsste etwa so aussehen:
          PHP-Code:
          $titel urldecode($_GET['titel']);
          $interpret urldecode($_GET['interpret']);
          $sql "SELECT text FROM texte where titel='" $titel "' and interpret='" $interpret "'";
          foreach (
          $pdo->query($sql) as 
          ...
          Gestern, 10:31
        • Fragman
          Antwort auf Ausgabe als Link
          ..und jetzt die Frage aller Fragen:
          Wie sieht das als PHP-Code aus?????
          Gestern, 08:12
        • Sempervivum
          Antwort auf Ausgabe als Link
          Nein, überhaupt nicht: Du brauchst nur eine PHP-Seite, diese bekommt Interpret und Titel als Parameter übergeben, liest den Text aus der Datenbank und zeigt ihn an....
          23.03.2019, 18:58
        Lädt...
        X