Jquery自定义button按钮的几种方法

  1、第一种方法比较简单

  

复制代码 代码如下:

  "columns": [

  { "data": null,defaultContent: '<input type="button" onclick="" value="呵呵" />', orderable: false },

  ],

  从代码字面意思就能明白什么意思,但是怎样从里边获取改行的信息我还不知道,所以显得不是太实用,定义默认值还可以。

  

复制代码 代码如下:

  { "data": "id",orderable: false,

  "mRender":function(data,type,full){

  return "<input type='button' onclick='' value='"+data+"'/>";

  }

  },

  刚看到一种方法就是使用回调,也可以获取该列的值并传递,但也只能获取一个值,仍然没有第二种方法好。

  2、第二种稍微麻烦,但比较实用

  

复制代码 代码如下:

  "fnRowCallback":function(nRow,aData,iDataIndex){

  var id = $('td', nRow).eq(0).text();

  var ip = $('td', nRow).eq(3).text();

  $('td:eq(-1)',nRow).html('<a href="javascript:onUpdate(\''+id+'\',\''+ip+'\')">修改</a> '+

  '<a href="javascript:onDel('+iDataIndex+')">删除</a>');

  return nRow;

  },

  在初始化行数据时调用一个回调方法,可以轻松的获取该行数据,完成提交功能,但是有个缺点,需要后台json传一个空字段,也不够灵活。

  3、第三种方法,就是将两种方法结合使用,可以完全前台无需后台操作

  

复制代码 代码如下:

  { "data": null,orderable: false,}

  

复制代码 代码如下:

  "fnRowCallback":function(nRow,aData,iDataIndex){

  var id = $('td', nRow).eq(0).text();

  var ip = $('td', nRow).eq(3).text();

  $('td:eq(-1)',nRow).html('<a href="javascript:onUpdate(\''+id+'\',\''+ip+'\')">修改</a> '+

  '<a href="javascript:onDel('+iDataIndex+')">删除</a>');

  return nRow;

  },