2013-09-26 12 views
5

Mam tabelę z ostatniej kolumny to element, aby uzyskać wszystkie dane wierszy,Jquery DataTables obsługi zdarzenia nie działa z stronicowania

Gdy używam stronicowania, tylko pierwszą stronę, która wyzwala mój obsługi zdarzeń, strona 2 - 3 - 4 i tak nie uruchamiaj mojego programu obsługi zdarzeń.

Po wyłączeniu stronicowania wszystkie rekordy uruchamiają procedurę obsługi zdarzeń.

Poniżej JavaScript inicjalizacji i obsługi zdarzeń

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'); 
       }); 

Poniżej jest html do mojego stolika

<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> 

Poniżej jest jsfiddle demonstrując to zachowanie. http://jsfiddle.net/stefenwiranata/3ZLth/

Odpowiedz

12

Spróbuj zamocować detektor zdarzeń przy użyciu funkcji .on() jak this.

+0

ooo działa, dziękuję, dlaczego nie mogę po prostu użyć $ (". Select_row"). Click (function() {}); ? –

+1

Ponieważ funkcja .click() zezwala tylko na wykonywanie akcji na bieżącym DOM, a nie na elementach dodanych po związaniu kliknięcia. –

Powiązane problemy