274 Stimmen

Den Wert eines markierten Kontrollkästchens abrufen?

Ich habe also einen Code, der wie folgt aussieht:

<input class="messageCheckbox" type="checkbox" value="3" name="mailId[]">
<input class="messageCheckbox" type="checkbox" value="1" name="mailId[]">

Ich brauche nur Javascript, um den Wert des aktuell angekreuzten Kästchens zu erhalten.

EDIT : Um etwas hinzuzufügen, muss nur EIN Kästchen angekreuzt werden.

368voto

JanBorup Punkte 4861

Keine der oben genannten Methoden hat bei mir funktioniert, aber ich benutze einfach diese:

document.querySelector('.messageCheckbox').checked;

335voto

Engineer Punkte 45911

Bei modernen Browsern :

var checkedValue = document.querySelector('.messageCheckbox:checked').value;

Durch die Verwendung von jQuery :

var checkedValue = $('.messageCheckbox:checked').val();

Reines Javascript ohne jQuery :

var checkedValue = null; 
var inputElements = document.getElementsByClassName('messageCheckbox');
for(var i=0; inputElements[i]; ++i){
      if(inputElements[i].checked){
           checkedValue = inputElements[i].value;
           break;
      }
}

141voto

user1683014 Punkte 1631

Ich verwende dies in meinem Code, z.B. so

var x=$("#checkbox").is(":checked");

Wenn das Kontrollkästchen aktiviert ist x ist wahr, andernfalls ist sie falsch.

26voto

Stano Punkte 8015

In einfachem Javascript:

function test() {
    var cboxes = document.getElementsByName('mailId[]');
    var len = cboxes.length;
    for (var i=0; i<len; i++) {
        alert(i + (cboxes[i].checked?' checked ':' unchecked ') + cboxes[i].value);
    }
}

function selectOnlyOne(current_clicked) {
    var cboxes = document.getElementsByName('mailId[]');
    var len = cboxes.length;
    for (var i=0; i<len; i++) {
        cboxes[i].checked = (cboxes[i] == current);
    }
}

15voto

Joe Iddon Punkte 19336

Dies ist zwar keine direkte Antwort auf die Frage, kann aber zukünftigen Besuchern helfen.


Wenn Sie möchten, dass eine Variable immer den aktuellen Zustand des Kontrollkästchens angibt (anstatt den Zustand immer wieder überprüfen zu müssen), können Sie die onchange Ereignis, um diese Variable zu setzen.

Dies kann in der HTML-Datei erfolgen:

<input class='messageCheckbox' type='checkbox' onchange='some_var=this.checked;'>

oder mit JavaScript:

cb = document.getElementsByClassName('messageCheckbox')[0]
cb.addEventListener('change', function(){some_var = this.checked})

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X