2013-09-26 10 views
5

मैं पिछले स्तंभ के साथ तालिका के साथ काम नहीं कर रहा, पूरी पंक्ति डेटा प्राप्त करने के एक तत्व हैJquery DataTables ईवेंट हैंडलर पेजिंग

जब मैं पेजिंग, केवल प्रथम पृष्ठ है कि मेरे ईवेंट हैंडलर से चलाता है, पेज 2 का उपयोग - 3 - 4 और इसलिए मेरे इवेंट हैंडलर को ट्रिगर न करें।

जब मैं पेजिंग अक्षम करता हूं, तो सभी रिकॉर्ड मेरे ईवेंट हैंडलर को ट्रिगर करते हैं।

नीचे आरंभीकरण के लिए जावास्क्रिप्ट और ईवेंट हैंडलर

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

है नीचे मेरी मेज

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

नीचे के लिए एचटीएमएल एक jsfiddle इस व्यवहार का प्रदर्शन किया जाता है। http://jsfiddle.net/stefenwiranata/3ZLth/

उत्तर

12

.on() फ़ंक्शन this जैसे फ़ंक्शन का उपयोग करके ईवेंट श्रोता को जोड़ने का प्रयास करें।

+0

ओयू यह काम करता है, धन्यवाद, मैं सिर्फ $ ("select_row") का उपयोग क्यों नहीं कर सकता। क्लिक करें (function() {}); ? –

+1

क्योंकि .click() फ़ंक्शन केवल आपको वर्तमान DOM पर क्रियाएं करने की अनुमति देता है और क्लिक को बाध्य करने के बाद जोड़े गए तत्व नहीं। –

संबंधित मुद्दे