jquery datatable复选框单击以选择行

jquery datatable复选框单击以选择行,jquery,select,checkbox,datatable,row,Jquery,Select,Checkbox,Datatable,Row,我有一个jquerydatatable,第一列有复选框。对于每个复选框,选择/取消选择我要更新数据库中相应行的状态字段。我可以将click事件处理程序附加到复选框。 每次单击复选框,我都想 将包含选中的复选框的行标记为选中 获取与单击的复选框相关联的行数据 到目前为止,我所做的代码是: $('#newItemBasketTab').dataTable({ "fnDrawCallback": function( oSettings ) { $('.ibchkclass').c

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

  • 将包含选中的
    复选框的行标记为选中
  • 获取与单击的
    复选框相关联的行数据
  • 到目前为止,我所做的代码是:

    $('#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
        {
    
        }
    }
    
    $('newItemBasketTab')。数据表({
    “fnDrawCallback”:函数(oSettings){
    $('.ibchkclass')。单击(函数()
    {
    更新(本文件);
    });
    },
    “aaData”:result.itembasketdata,
    “aoColumnDefs”:
    [
    {“aTargets”:[0],“width”:“5%”,“sClass”:“centre_class”,“mData”:“item_basket_id”,
    “mRender”:功能(数据、类型、完整){
    var checkedStatus=“”;
    如果(数据!=null){checkedStatus=“checked”;}
    返回“”;
    }
    },
    {“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”}
    ]
    });
    函数updateItemBasket(cb)
    {
    var cbid=cb.id;
    如果($('#'+cbid).is(':checked')==true)
    {
    警报(“真”);
    //选择相应的行
    //获取商品篮子id、产品数量和产品价值
    }
    其他的
    {
    }
    }
    
    谢谢。

    使用
    $('#'+cbid)。最近的(“tr”),当使用最近函数选中复选框时,可以获取当前父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
        {
    
        }
    }
    

    你能用一个例子来说明HTML代码吗?谢谢。我修改为:var clrow=$('#'+cbid).closest(“tr”);var aData=table.fnGetData(clrow);警报(aData.prod_数量);我还想知道我是否可以向tr变量添加样式类?是的,我们可以使用tr.addClass(“className”)或$(“#”+cbid)添加。最近的(“tr”).addClass(“className”)我添加语句:clrow.addClass(“selected#row#class”);我有这个标签。tr.selected_row_class{背景色:红色;}。但选中复选框时颜色不会更改。您必须根据复选框更改删除并添加类