控制选中多选框数量

js 控制选中多选框数量

你肯定遇到过一些无理的要求,混口饭吃还真不容易啊,明明是多选框,还要做一个选择数量控制。不过也不难。先写个demo测试一下。

写几个多选框

<div class="form-hobby">
	<label for="c"></label> <input id="c" type="checkbox" /><br />
	<label for="t"></label> <input id="t" type="checkbox" /><br />
	<label for="rap">rap</label> <input id="rap" type="checkbox" />
</div>

样式

.form-hobby label {
	font-size: 22px;
	color: #868686;
	margin-right: 12px;
	cursor: pointer;
}
.form-hobby input {
	cursor: pointer;
}

逻辑

let hobbies = document.querySelectorAll('.form-hobby input[type="checkbox"]')
let length = 0;
const maxSelection = 2; // 设置最大选择数量
document.querySelector('.form-hobby').addEventListener('click', function (event) {
let target = event.target;
// 检查点击的元素是否是 checkbox
if (target.type === 'checkbox') {
// 检查 checkbox 是否被选中
	if (target.checked) {
		if (length >= maxSelection) {
			console.log('亲,只能选择' + maxSelection + '项');
			target.checked = false; // 取消当前点击的 checkbox
		} else {
			length += 1;
			// 这里可以执行其他操作,例如添加到已选列表等
		}
	} else {
		if (length > 0) {
			length -= 1; 
		}
	}
	console.log('选中的数量:', length);
	}
});
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

阿珍敲code

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

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

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

打赏作者

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

抵扣说明:

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

余额充值