2016-04-11 6 views
1

mysqlテーブルのデータを含むjqueryテーブルを作成しました。クリックしたときにモーダルを表示したいので、クリック可能にする必要があります。問題は、クリックベントがjqueryテーブルで機能しないことです。これは私のjqueryのテーブルです:jqueryテーブルをクリック可能にする

$('#btnLoadAttendance').click(function(){ 
var dept = $('#cmbdept').val(); 
if(dept == "SEWING") 
{ 
    var dLine = $('#cmbline').val(); 
    var dSection = $('#cmbsection').val(); 
    console.log(dept+', '+dLine+', '+dSection); 
    var formdata = {dept:dept,section:dSection,line:dLine}; 
} 
else 
{ 
    var dLine = ''; 
    var dSection = ''; 
    console.log(dept); 
    var formdata = {dept:dept}; 
} 

$.ajax({ 
    type: 'POST', 
    url: "<?php echo site_url('tms/loadAttendance');?>", 
    data:formdata, 
    dataType: 'json', 
    success: function(data){ 
     console.log(data.emplist[0]); 
     var tr; 
     $('#tblAttendance tbody').empty(); 
     $.each(data.emplist,function(i,item){ 
      if(item.Active == '1') 
      { 
       var status = 'Active'; 
      } 
      else 
      { 
       var status = 'Resigned'; 
      } 

      tr = $('<tr/>'); 
      tr.append("<td><a href='#'>Edit</a></td>"); 
      tr.append("<td>"+item.EmpID+"</td>"); 
      tr.append("<td>"+item.Lastname+', '+item.Firstname+', '+item.Middlename+"</td>"); 
      tr.append("<td>"+status+"</td>"); 
      $('#tblAttendance').append(tr); 
     }); 
    }, 
}); 
}); 

そして、これは私が使用していますクリックイベントである:

$(function(){ 
$('#tblAttendance tbody td').click(function(){ 
    console.log('You clicked'); 
}); 
}); 

を私はすでに解決策をグーグルが、彼らは私に不一致の答えを与えた。..

+0

たぶん、あなたは 'tr'、ない' td'するセレクタを置く必要がありますか? – Tinmar

+0

私は試しましたが、何も変わりません。私はまた、tr tdだけを置いてみましたが、同じ結果を出しました。 – SilverRay

+0

'tbody td'は' tbody'のすべての 'td'を選択します。あなたの 'td'は' tbody'ではなく 'tr'にあります。少なくとも彼らはすべきである。 – Tinmar

答えて

1

は、この方法を試してください。

$('#tblAttendance tbody').on('click', 'td', function() { 
    console.log('You clicked'); 
}); 
+0

ありがとうございました......! – SilverRay

+0

クリックイベントにモーダルを追加できます... – SilverRay

+0

正解とマークしてください。あなたを助けてうれしい.. .. :) –

1

あなたが使用しています非動的作成要素のセレクタ。

$('#tblAttendance').on('click', 'tbody ...', function(){ 
    //your code here.. 
}); 

それとも:

$(document).on('click', 'tbody ...', function(){ 
    //your code here.. 
}); 

トリックは、いくつかの非動的な親要素を選択することであり、.on()機能での持っている必要があります1を挿入しますが、このように、動的に作成するセレクタを使用する必要があります-clickハンドラ。

関連する問題