[datatable]在页面中更改cell值后再排序

需求:在点击一按钮后,对选中的行对应的某一列中的值进行更改。并且,更改后能对该列进行排序

 

datatable提供了单元格编辑扩展,但这不是这个需求所需要的,我们不需要编辑单元格,只要更改单元格中的值。

更改单元格的值很简单,使用jquery的搜索查到选中的行找到要改的列,更改html即可。但是这样更改后不能正确的进行该列的排序。其排序还是以未改之前的为准。

 

经研究得到解决方案。注意两点:1.使用datatable提供的api来改单元格值 2.行定位时一定要以初始化时的行序列进行定位

 

api

datatable=$(".datatable-sort").dataTable( {"bSort": true});

datatable.fnUpdate('new value',rownum,colnum)

 注意这里的rownum,这一定要是初始化时的行序列。假如初始化时id为1的行在第一行,那么这一行的rownum就是0

如果再以别的列来排序,id为1的行被排到了第3行,按理说这时的rownum应该是4了。但在调用api时,这里的rownum还应该是0,不然你就改了别的行中的值了。

 

如何来确认行的rownum呢,我也给一个自己的思路和解决方案。我会在初始化的每行元素中加一个属性如 rowindex,这个属性值就是行在循环渲染时的序列值。这样在使用jquery取到被选中的行时,我不使用jquery forEach中的序列值,而是使用行中的rowindex属性值就行了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值