【问题标题】:jquery datatable checkbox click to select a rowjquery数据表复选框单击以选择一行
【发布时间】:2015-06-24 08:47:03
【问题描述】:

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

  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
    {

    }
}

谢谢。

【问题讨论】:

  • 你能用这个例子澄清一下HTML代码吗?

标签: jquery select checkbox datatable row


【解决方案1】:

使用 closest() $('#'+cbid).closest("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
    {

    }
}

【讨论】:

  • 谢谢。我修改为: var clrow = $('#'+cbid).closest("tr"); var aData = table.fnGetData(clrow);警报(aData.prod_quantity);
  • 我也想知道能不能给tr变量加个样式类?
  • 我们可以使用 tr.addClass("className")$('#'+cbid).closest("tr").addClass( "类名")
  • 我添加语句:clrow.addClass("selected_row_class");我在
  • 您必须根据复选框更改删除和添加类
猜你喜欢
  • 2013-08-20
  • 1970-01-01
  • 2020-11-20
  • 2013-08-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多