2012-04-15 24 views
0

Ich habe folgende JavaScript-Code innerhalb index.php:jQuery überprüfen Sie alle Kontrollkästchen in Datatable

$(function() { 
    $('.checkall').click(function() { 
      $(this).find(':checkbox').attr('checked', this.checked); 
    }); 
}); 

I Abrufen von Informationen über Ajax und erstellen Sie eine Tabelle aus diesen Informationen mit Tabellen jQuery Daten innerhalb von Datentabellen head Ich habe ein Kontrollkästchen mit class='checkall'.

Warum überprüft das Kontrollkästchen im Kopf nicht alle anderen über AJax abgerufenen Kontrollkästchen?

* Ich bekomme keine Fehler innerhalb Firebug

* I How to check every checkboxes in a jquery datatable? geprüft, aber immer noch nicht bekommen ... :(

Antwort

1
$(function() { 
    $('.checkall').click(function() { 
      $(':checkbox').not(this).attr('checked', this.checked); 
    }); 
}); 

funktioniert, wenn es auf der Seite neben dem Kopf Checkbox keine andere Option ist und die, die Sie

+0

nicht für mich arbeiten ... – Eric

+0

Arbeiten jetzt, habe ich den Code direkt auf das Element: Onclick = "$ (\ ': Checkbox \') nicht (this) .attr. (\ 'checked \', this.checked); " – Eric

1

Ich denke, dass Ihr Problem wahrscheinlich mit der Nutzung von $ ist (this) , Referenzen, die wahrscheinlich die ‚checkall‘ Checkbox.

find() findet Abkömmlinge des Knotens, und die Kontrollkästchen, die Sie überprüfen wollen, sind nicht Nachkommen dieses Kontrollkästchen.

das Beispiel, das Sie zitieren zeigt die korrekte Weg, es zu tun, von r eferenceing datatable.fnGetNodes()

0

Zusätzlich zu dem, was GreyBeardedGeek sagte überprüfen möchten, wenn Sie über das Laden werden ajax, wenn Ihr checkall-Kontrollkästchen über einen Ajax-Aufruf erstellt und in das DOM eingefügt wird, wird Ihr click-Ereignis NICHT ausgelöst. In diesem Fall sollten Sie abhängig von Ihrer Version von jQuery "on" (oder "live") verwenden: http://api.jquery.com/live/. Beispiel:

$(document).on("click", ".checkall", 
    function(){ $(this).find(':checkbox').attr('checked', this.checked); }); 
Verwandte Themen