2013-09-26 2 views
5
내가 지난 칼럼과 테이블이

와 함께 작동하지 않는 것은, 전체 행 데이터를 얻을 수있는 요소이다JQuery와 Datatables 이벤트 핸들러가 호출

내가 페이징, 내 이벤트 핸들러를 트리거 첫 번째 페이지, 2 페이지 사용하는 경우 - 3 - 4 등 내 이벤트 처리기를 트리거하지 마십시오.

페이징을 사용하지 않으면 모든 레코드가 내 이벤트 처리기를 트리거합니다.

다음은 다음은 내 테이블 아래

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

에 대한 HTML이 동작을 보여주는 jsfiddle입니다 초기화를위한 자바 스크립트와 이벤트 핸들러

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

입니다. http://jsfiddle.net/stefenwiranata/3ZLth/

답변

12

this과 같은 .on() 기능을 사용하여 이벤트 리스너를 연결해보세요.

+0

감사합니다, 왜 그냥 $ (". select_row")를 사용하지 마십시오. (function() {}); ? –

+1

.click() 함수는 클릭을 바인딩 한 후에 추가 된 요소가 아니라 현재 DOM에 대한 작업 만 수행 할 수 있도록합니다. –

관련 문제