寫在前面:
當頁面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 定時刷新固定滾動條的位置