在table中设置单选、复选框,如何实现一键全选、当单选框全部勾选后全选框自动勾上以及再次点击全选后单选框取消勾选(反选)

<table class="mui-table mui-table-view-striped" style="text-align: center;">
<thead style="background: dodgerblue;color: white; height: 40px;">
<tr>
						<!-- <span>全选</span> -->
<th style="width: 5%;" class="allCheck"><input type="checkbox" id="checkAll">
			</th>
			<th style="width: 30%;">物料</th>
			<th style="width: 30%;">物料名称</th>
			<th style="width: 30%;">插位</th>
			<th style="width: 5%;">数量</th>
</tr>
</thead>
<tbody class="ui-jqgrid-btable" id="tbody">
<tr>
	<td><input type="checkbox" name="check" class="ck"></td>
	<td>1</td>
	<td>2</td>
	<td>3</td>
	<td>4</td>
	</tr>
	<tr>
	<td><input type="checkbox" name="check" class="ck"></td>
	<td>5</td>
	<td>6</td>
	<td>7</td>
	<td>8</td>
	</tr>
	</tbody>
	</table>

JS实现方法如下:

//获取选择框的状态
			const checkAll=document.querySelector('#checkAll')
			const cks=document.querySelectorAll('.ck')
			console.log(cks.length)
			checkAll.addEventListener('click',function(){
				
				for(let i=0;i<cks.length;i++){
					cks[i].checked=checkAll.checked
				}
			})

//小选项框中判断个数,全部选中时则全选按钮也被选中
			for(let i=0;i<cks.length;i++){
				const n=0
				cks[i].addEventListener('click',function(){
					const checkedNum=document.querySelectorAll('.ck:checked').length
					checkAll.checked=checkedNum===cks.length
				})
			}			

效果图如下:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值