2012-06-28 20 views
1

我有下面的代碼很適合行點擊,但我希望第一個和最後一個列是可點擊的,我希望能夠分辨哪個列被點擊。我有以下代碼在dataTables插件中獲取列而不是行

$(document).ready(function() { 
    oTable = $('#mytable').dataTable(); 
    var fa = 0; 
    $('#submit tbody td ').click(function() { 
    var gCard = $('#mytable tbody').delegate("tr", "click", rowClick); 


    }); 
    function rowClick() { 
     fa = this; 
     var id = $("td:eq(1)", this).text(); 
     cardNumber = $.trim(id);  
     $.ajax({ 
      url : 'myurltopostto', 
      type : 'POST', 
      data : { 
       id : id 

      }, 
      success : function(data) { 
       oTable.fnDraw(); //wanted to update here 
      }, 
      error : function() { 
       console.log('error'); 
      } 
     }); 
    } 

}); 

這裏的代碼行單擊

var gCard = $('#mytable tbody').delegate("tr", "click", rowClick); 

我能爲小區做的點擊和獲取信息。

使用jQuery插件數據表 感謝

回答

5

當你這樣做$('#submit tbody td ').click(function() ...綁定單擊事件到td
因此,要獲得第一個和最後一個欄點擊使用以下命令:

$('td:first, td:last', '#submit tbody tr').on('click', function() { 
    // do what you want 
}); 

demo1

更新1: 獲取最後兩列:

jQuery('#mytable tr').each(function() { 
    jQuery('td', this).slice(-2).on('click', function() { 
     // do what you want 
    }); 
}); 

demo2

更新2:獲取關於點擊每列數據最後兩列

jQuery('#mytable tr').each(function() { 
    jQuery('td', this).slice(-2).on('click', function() { 
     // do what you want 
     var $columns = jQuery(this).siblings('td').andSelf(); 
     jQuery.each($columns, function(i, item) { 
      alert(jQuery(item).html()); 
     }); 
    }); 
}); 

demo3

+0

聽起來不錯,那最後和倒數第二? – Autolycus

+0

你能澄清你的問題嗎? –

+0

而不是第一列和最後一列,我只想點擊最後兩列 – Autolycus

2

只要指定列號代替第一,最後一個,等下面的例子示出了柱12,零是第一。這樣更容易。

td:eq(11) 
0
$(document).ready(function() { 
    var table = $('#tableID').DataTable(); 

    $('#tableID').on('click', 'tr', function() { 
     var data = table.row(this).data(); 
     alert('You clicked on '+data[0]+'\'s row'); 
    }); 
}); 

更多的是指這個link

相關問題