复选框全选、单选以及变灰不能选

这篇博客介绍了如何使用jQuery和HTML创建一个基础的表单,其中包括在表格中添加复选框并实现全选、反选功能。同时,它详细讲解了如何设置部分复选框为禁用状态(灰色不可选),以及全选按钮如何智能地处理这些禁用项。此外,内容还涵盖了单选操作的实现。
摘要由CSDN通过智能技术生成

使用jquery和html做一个基础性的表单效果,记录一下:

<%@ page contentType="text/html;charset=UTF-8" %>
<%@ include file="/WEB-INF/views/include/taglib.jsp"%>
<html>
<head>
	<title>预约信息管理</title>
	<meta name="decorator" content="default"/>
	<script type="text/javascript">
		
        function detail(id){
		    if($("#"+id).attr('hidden')=='hidden'){
                $("#"+id).fadeIn(1000);
                $("#"+id).removeAttrs("hidden");
			}else{
                $("#"+id).fadeOut(1000);
                $("#"+id).attr("hidden","hidden");
			}
		}

        $(function() {
            // :checkbox表示 获取到表格body的所有checkbox
            var $tbCheckboxes = $("#j_tb").find(":checkbox:not(:disabled)");

            // 全选和全不选
            $("#j_cbAll").click(function () {
                // 使用prop这个方法来 判断 这个checkbox有没有被选中
                var isChecked = $(this).prop("checked");
                //alert(isChecked);
                if (isChecked) {
                    // 让表格body里面的所有checkbox选中
                    // :checkbox 这个选择器会帮我们选择到所有的checkbox
                    $tbCheckboxes.prop("checked", true);
                } else {
                    // 让表格body里面的所有checkbox不选中
                    $tbCheckboxes.prop("checked", false);
                }
            });


            // 单选控制全选checkbox选中或者不选中
            $tbCheckboxes.click(function () {
                // 获取到所有被选中的checkbox的个数跟所有的checkbox个数 对比
                // :checked表示:获取到body中所有被选中的checkbox
                // length属性表示 获取到元素的长度
                var checkedLength = $("#j_tb").find(":checked").length;
                // 获取到所有的checkbox的长度
                var allCheckboxLength = $tbCheckboxes.length;
                //alert(checkedLength);
                // 如果相等,就让全选按钮选中
                if (checkedLength == allCheckboxLength) {
                    $("#j_cbAll").prop("checked", true);
                } else {
                    // 否则,让全选按钮不选中
                    $("#j_cbAll").prop("checked", false);
                }
            });

            $('[type="checkbox"]').click(function () {
             
在JavaScript和HTML中,创建一个购物车的复选框全选/单选功能可以通过以下几个步骤完成。这里是一个基本的示例: ```html <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8"> <title>购物车复选框</title> <style> .cart-checks { display: flex; gap: 10px; /* 控制复选框之间的间距 */ } .check-all { margin-right: 10px; } </style> </head> <body> <h2>购物车商品择</h2> <div class="cart-checks"> <!-- 商品项,这里的数量可以动态添加 --> <label class="checkbox" for="item1"> <input type="checkbox" id="item1" value="商品1"> 商品1 </label> <label class="checkbox" for="item2"> <input type="checkbox" id="item2" value="商品2"> 商品2 </label> <!-- 更多商品... --> <button id="checkAll">全选</button> <button id="uncheckAll">全不</button> </div> <script> // 获取所有复选框全选按钮 const checkboxes = document.querySelectorAll('input[type="checkbox"]'); const checkAllBtn = document.getElementById('checkAll'); const uncheckAllBtn = document.getElementById('uncheckAll'); // 全选按钮事件处理 checkAllBtn.addEventListener('click', function() { checkboxes.forEach(function(checkbox) { checkbox.checked = true; }); }); // 全不按钮事件处理 uncheckAllBtn.addEventListener('click', function() { checkboxes.forEach(function(checkbox) { checkbox.checked = false; }); }); // 当复选框状态改变时,检查是否有被选中checkboxes.forEach(function(checkbox) { checkbox.addEventListener('change', function() { if (checkboxes.filter(checkbox => checkbox.checked).length === checkboxes.length) { checkAllBtn.textContent = '全选'; } else { checkAllBtn.textContent = '全不'; } }); }); </script> </body> </html> ``` 这个示例展示了如何使用JavaScript控制复选框全选和全不操作,并且当任何一个复选框的状态变化时,会自动更新全选按钮的状态。你可以根据实际需求对商品列表和样式进行扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值