【jquery】实现复选框checkbox相关功能:

1.全选和取消全选:
<td class="rd8">
	<input type="checkbox" name="checkbox" id="checkbox" value="<%= tongjiList[i].id %>">
</td>
<button id='checkAll'>全选</button>
<button id='cancelCheckAll'>取消全选 </button>
<input type="checkbox" name="checkbox" id='checkAllAndcancelCheckAll()'>反选</button>

<script>
//全选 
$("#checkAll").click(function() {
	if (this.checked) {
		$("input[name='checkbox']:checkbox").each(function() { 
		//遍历所有的name为checkbox的 checkbox
			$(this).attr("checked", true);
		})
	} 
})
//取消全选 
$("#cancelCheckAll").click(function() {
	if (this.checked) {
		$("input[name='checkbox']:checkbox").each(function() { 
		//遍历所有的name为checkbox的 checkbox
			$(this).attr("checked", false);
		})
	} 
})
//反选
$("#checkAllAndcancelCheckAll").click(function() {
	$("input[name='checkbox']:checkbox").each(function () { 
	//遍历所有的name为checkbox的 checkbox
		$(this).attr("checked", !$(this).attr("checked"));
		if (!$(this).attr("checked") == false) {//全选
			//获取全部的id...
		} else {//取消全选
			ids = []
			localStorage.removeItem('ids')
		}
	})
})
</script>
2.遍历checkbox并获取选中的:
$.each(data.data.list, function (i, t) {//data.data.list后台数组
	$("#userPermission").append(`<input type="checkbox"  name="userPermission" value="` + t.id + `" title="` + t.remarks + `">`);
})
let str = [] //所有选中的id
			
$("[name='userPermission']").each(function () {
	if ($(this).is(":checked")) {
		str.push($(this).val())
	}
})

渲染选中数据:

$("[name='userPermission']").each(function () {
	$(this).prop("checked", false);
	$(this).attr("checked", false);

	if (data.permissionList) {
		data.permissionList.forEach(item => {
			if (item.id == Number($(this).val())) {
				$(this).prop("checked", true);
				$(this).attr("checked", true);
			}
		})
	}
})

在这里插入图片描述

3.问题:

jquery报错$(this).attr(‘checked‘)undefined/checkbox无法改变其状态:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Sun Peng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值