2016-03-23 17 views
0

Ich habe zwei Funktionen, die ich gemacht habe, die alle Checkboxen mit einer bestimmten Klasse aktivieren und deaktivieren. das erste Mal, wenn ich die Funktionen ausführen, die sie wie erwartet ausführen, aber nachdem ich versuche, die Funktion erneut auszuführen, überprüfen die Kontrollkästchen nicht, aber der HTML-Code ändert sich.JQuery Script überprüft Checkboxen nicht korrekt

JQuery ...

function checkall() { 
    $('.column').attr('checked','checked'); 
    $('#ALL').attr('onclick', 'uncheckall()') 
    document.getElementById('ALL').value = "UnCheck All"; 
} 

danach läuft ich <input type="checkbox" value="SEQN" class="column" onchange="updatearray()" checked="checked">

function uncheckall() { 
    $('.column').removeAttr('checked'); 
    $('#ALL').attr('onclick', 'checkall()') 
    document.getElementById('ALL').value = "Check All"; 
} 

danach läuft ich <input type="checkbox" value="SEQN" class="column" onchange="updatearray()">

Warum die Check-Boxen nur einmal ändern zu bekommen?

+0

'$ ('# ALL'). Attr ('Onclick', 'checkall()')' ist nicht der richtige Möglichkeit, einen Ereignis-Listener hinzuzufügen, wenn Sie jQuery verwenden, dann verwenden Sie es und machen Sie nicht document.getElementById ('ALL'). value = "Alles abgleichen"; ', und' .attr ('checked', ' checked ') 'sollte' .prop (' checked ', true) sein' – j08691

Antwort

3

Try prop() statt attr(). Wenn das Problem weiterhin bestehen iterieren einzelne Checkbox

+0

Das hat funktioniert, danke. –

Verwandte Themen