在日常報表製作中,我們會時長遇到一些需要批量操作的功能,例如數據的批量刪除,而此時往往跟複選框掛鉤;一般是在報表中,我們可以通過複選框的形式進行勾選,然後通過按鈕或者超鏈接觸發JavaScript事件,獲取複選框選中行,在進行一鍵刪除。
接下來,就來講解一下,如何通過獲取複選框,獲取選中行數據,進行一鍵刪除行。
1、報表設計
本報表的應用是用於文件的上傳和數據整理入庫,此處示例多文件刪除功能。
2、JavaScript事件
代碼如下:
//獲取複選框
var $span = $(".mr-checkbox-checkon");
var darray = [];
var array = [];
var $tds = $("td").has($span);
var len = $tds.length;
var flat=true;
for (var i = 0; i < len; i ++) {
if($($span[i]).closest('tr').css('display')!='none'){
flat=false;
break;
}
}
if(flat){
len=0;
}
if(len<=0){
alert("請選擇記錄!");
return;
}
//獲取選中行
for (var i = 0; i < len; i ++) {
var id = $($tds[i]).attr("id");
if (id) {
var rownum =contentPane.curLGP.getTDRow($tds[i])-1;
var wjid=contentPane.getCellValue(2,rownum);
array.push(wjid);
darray.push(id);
}
}
//刪除選中行
contentPane.deleteReportRC(null,darray);
//array是我用來做其他操作用的,讀者可以根據自身情況獲取數據和操作
3、效果圖