2013-09-26 22 views
5

I Tabelle mit letzter Spalte ist ein Element, ganze Zeile Daten zu erhalten,JQuery Datentabellen Ereignishandler nicht mit Paging-Arbeits

Wenn ich Paging, nur die erste Seite, die meine Ereignishandler auslöst, Seite 2 - 3 - 4 usw. löst nicht den Event-Handler aus.

Wenn ich Paging deaktivieren, lösen alle Datensätze meine Ereignisbehandlungsroutine aus.

Unten ist die Javascript für die Initialisierung und der Event-Handler

var OTkaryawan = $('#table_karyawan').dataTable({ }); 

$(".select_row").click(function() { 
//     var row = $(this).closest('tr')[0]; 
//     var aData = OTkaryawan.fnGetData(row); 
//     alert(aData[0]); 
        alert('A'); 
       }); 

Unterhalb der HTML-Code für meinen Tisch ist

<table id="table_karyawan" style="border: 1px #ccc solid;"> 
        <thead> 
         <tr> 
          <th>NIK</th> 
          <th>Nama Lengkap</th> 
          <th>Lokasi Kerja</th> 
          <th>Departemen</th> 
          <th>Jabatan</th> 
          <th>Action</th> 
         </tr> 
        </thead> 
        <tbody> 
         <?php foreach ($master_karyawan as $key => $value): ?> 
          <tr> 
           <td><?= $value['nik']; ?></td> 
           <td><?= $value['nama']; ?></td> 
           <td><?= $value['lokasikerja']; ?></td> 
           <td><?= $value['departemen']; ?></td> 
           <td><?= $value['jabatan']; ?></td> 
           <td class="select_row">Select</td> 
          </tr> 
         <?php endforeach; ?> 
        </tbody> 
       </table> 

Im Folgenden wird ein jsfiddle dieses Verhalten zu demonstrieren. http://jsfiddle.net/stefenwiranata/3ZLth/

Antwort

12

Versuchen Sie, einen Ereignis-Listener mit der .on()-Funktion wie this anzufügen.

+0

ooo es funktioniert, danke, warum kann ich nicht einfach $ (". Select_row") verwenden. Click (function() {}); ? –

+1

Da die .click() - Funktion nur Aktionen für das aktuelle DOM ausführen kann und keine Elemente, die nach dem Binden des Klicks hinzugefügt wurden. –

Verwandte Themen