jquery 数据表复选框单击到 select 行

jquery datatable checkbox click to select a row

我有一个 jquery datatable 第一列带有复选框。对于每个复选框 select/deselect 我想更新数据库中相应行的状态字段。我可以将点击事件处理程序附加到复选框。 每点击一个复选框,我都想

  1. 将包含 checked checkbox 的行标记为选中。
  2. 获取与点击相关联的行数据checkbox

到目前为止我完成的代码:

$('#newItemBasketTab').dataTable({
    "fnDrawCallback": function( oSettings ) {
       $('.ibchkclass').click(function() 
       {
          updateItemBasket(this);
       });
    },

    "aaData": result.itembasketdata,
    "aoColumnDefs":
    [
       {"aTargets": [0],"width": "5%","sClass": "centre_class","mData": "item_basket_id",
        "mRender": function ( data, type, full ){
          var checkedStatus = '';
          if(data != null) { checkedStatus = "checked"; }
          return "<input type='checkbox' class=\"ibchkclass\" id=\"chk_" + full.id1 + "_" + full.id2 + "\" " + checkedStatus + ">";
         }
       },
       {"aTargets": [1],"width": "35%","mData": "name"},
       {"aTargets": [2],"width": "10%","sClass": "price_class", "mData": "prod_quantity"},
       {"aTargets": [3],"width": "10%", "sClass": "price_class", "mData": "prod_value"}
    ]
});

function updateItemBasket(cb)
{
    var cbid = cb.id;
    if( $('#'+cbid).is(':checked') == true)
    {
        alert('true');
        //Select respective row
        //Get item_basket_id, prod_quantity and prod_value
    }
    else
    {

    }
}

谢谢。

使用closest() $('#'+cbid).closest("tr"); ,可以在checkbox被选中时使用closest函数获取当前父tr

function updateItemBasket(cb)
{
    var cbid = cb.id;
    if( $('#'+cbid).is(':checked') == true)
    {
        alert('true');
       var tr=$('#'+cbid).closest("tr"); // get selected tr
        //Select respective row
        //Get item_basket_id, prod_quantity and prod_value
    }
    else
    {

    }
}