Datatables通过某列元素操作获取该行数据

需求是这样的:通过datatables每行最后一列的”操作”按钮来触发弹出模态框表单,表单中的数据为该行的所有数据。那么首先是要确定该操作按钮为哪一行,即需要在操作触发的方法中传入(直接或间接)行数,然后通过行数来获取该行数据。
法一:
1、Datatables的初始化ajax返回数据中”操作”一列的渲染为` {

 "render": function (data, type, full, meta) {
    if ($('#IsRightChange').val() == 1) {
        return '<button type="button" class="btn btn-primary"  onclick="ChangeData('+ meta.row +')">操作</button>';}
    else{
         return '';
        }
       }
 },`

2、操作按钮触发的函数为下:

  function ChangeData(Row)
        {
           var data= $('#example').DataTable().rows(Row).data()[0];
           alert(data.cjname);

        }

其中cjname为Datatables返回数据中的其中一列 车间名称 ,对应的,需要什么元素直接在data.ParamterName即可。

3、通过Jquery直接给新的模态框赋值。
(‘#ID’).val(“value”);  
或者
(‘#ID’).attr(“value”,value); 注意使用attr时对于有的标签是可以进行value的赋值,但是并不一定能够使其text显示。比如textarea标签,使用该attr时可以使其value赋值,但是在页面显示时仍然为空。但是使用.val()进行赋值时,不仅可以使value赋值,也可以text显示出来。

法二:间接的传入行数。
1、

 "render": function (data, type, full, meta) {
    if ($('#IsRightChange').val() == 1) {
        return '<button type="button" class="btn btn-primary"  onclick="ChangeData(this)">操作</button>';}
    else{
         return '';
        }
       }
 },`

2、

 function ChangeData(this1){  
          var Row = $(this1).parents('tr')[0];//通过获取该td所在的tr,即td的父级元素,取出第一列序号元素
          var Data = $("#example").dataTable().fnGetData(Row);//得到这一行的json数据  
          var cjname= aData.cjname;//得到车间名称  


        }  
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值