打印时候复选框勾选不见了_使用JS实现分页打印(复选框勾选打印)

本文介绍了如何解决在打印时复选框勾选状态丢失的问题,通过JavaScript实现分页打印,确保被勾选的复选框在打印中仍然可见。主要方法包括设置CSS属性`page-break-after`,获取并处理被选中的复选框数据,以及创建一个新的HTML页面进行打印。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需要用到table的page-break-after: always;

pageEncoding="UTF-8"%>

Insert title here

function ckAll(){

var flag = document.getElementById("allcheck").checked;

var cks = document.getElementsByName("check");

for(var i =0;i

cks[i].checked = flag;

}

}

function sub(){

//获取名为check的复选框

var cks = document.getElementsByName("check");

//获取打印的div

var print_div=document.getElementById("print");

//用于存储需要打印的所有数据

var content="";

//用于存储每页需要打印的数据

var str="";

//获取复选框被选中的个数

var checklen=$("input[name='check']:checked").length;

//以名为check的复选框个数作为条件循环

for(var i = 0;i

//过滤被选中的复选框

if(cks[i].checked){

//将被勾选的复选框的值赋值到打印div里

var td =document.getElementById("table").rows[i+1].cells[1].innerHTML;

var name=document.getElementById("table").rows[i+1].cells[2].innerHTML;

var age=document.getElementById("table").rows[i+1].cells[3].innerHTML;

var birth=document.getElementById("table").rows[i+1].cells[4].innerHTML;

$("#lbl_id").text(td);

$("#lbl_name").text(name);

$("#lbl_age").text(age);

$("#lbl_birth").text(birth);

//将被勾选的复选框数据循环添加到content

str = document.getElementById("print").innerHTML;

content = content+str;

//每循环一次被选中的复选框个数-1

checklen--;

//当被选中的复选框个数为0开始打印

if(checklen==0){

var printStr="

";

printStr = printStr+content+"";

var pwin = window.open("Print.htm","print");

pwin.document.write(printStr);

pwin.document.close();

pwin.print();

}

//bdhtml=window.document.body.innerHTML; //获取当前页的html代码

//sprnstr=""; //设置打印开始区域

//eprnstr=""; //设置打印结束区域

// prnhtml=bdhtml.substr(bdhtml.indexOf(sprnstr)+17); //从开始代码向后取html

// prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr)); //从结束代码向前取html

// window.document.body.innerHTML=prnhtml;

// window.print();

}

}

}

编号姓名年龄生日
${list.id}${list.name}${list.age }${list.birth }

提交

用户信息

编号

姓名

年龄

生日

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值