写在前面:
当页面table列表数据有修改后,用户需要再次回到修改的行位置。
1.当修改行数据后,table刷新,行数据位置前后不发生改变 ,可使用下面这种方法:
/*获取当前滚动条的位置*/
var scollPostion = $('#table').bootstrapTable('getScrollPosition');
var obj = $("#table tr:nth-child("+ (index+1) +") td:nth-child("+ (11) +").editable");
var attrValue = trim1(obj.first().find("input").val());
dataArrr[index].fourthStandardConfig = attrValue;
tab.setData(dataArrr);
mergeCell1(dataArrr);
mergeCell2(dataArrr);
mergeCell3(dataArrr);
/*刷新数据后,再次回到原始滚动的位置*/
setTimeout(function() {
$('#table').bootstrapTable('scrollTo', scollPostion);
}, 200);
2.当修改行数据后,table刷新,行数据位置发生改变,可使用下面这种方法:
var table = $("#deptTable");
/*等table加载完后触发*/
table.on('post-body.bs.table', function () {
var dep = result.substring(result.indexOf(":") + 1);
var target = table.find("tr[data-uniqueid='" + dep + "']");
//定位修改后的行的位置
var offset = target.offset().top - table.offset().top - 50;
table.bootstrapTable('scrollTo', offset);
//给指定行染个色
table.find("tr[class='success']").attr("class","");
target.attr("class","success");
});
参考:
https://www.liangzl.com/get-article-detail-20409.html---Bootstrap Table 定时刷新固定滚动条的位置