javaScript-复选框[全选][单选]分离实现

命名此文件为:test.js
 
/**
复选框[全选][单选]
要使用次javaScript代码请先修改下面变量

checkNameSpace=[所有]checkbox所在的最近一层标签ID

checkAllName = 全选checkbox的name值

Author:Rong4It
Date:2010-09-28
Declare:[别瞎改就中]

*/

var checkNameSpaceId = "main";
var checkAllName="flag_all";

var input= document.getElementById(checkNameSpaceId).getElementsByTagName("input");
var checkboxArr = new Array();
var checkboxCount=0;
var checkAll;//全选按钮
for(var i=0 ;i<input.length;i++){
if(input.item(i).getAttribute("type")=="checkbox"){
if(input.item(i).getAttribute("name")==checkAllName)
checkAll=input.item(i);
else{
checkboxArr[checkboxCount]=input.item(i);
checkboxCount++ ;
}
}
}
/**
为全选按钮添加事件
*/
checkAll.onclick = function(){
for(var i=0 ;i<checkboxArr.length;i++){
checkboxArr[i].checked = checkAll.checked;
checkboxArr[i].style.cursor="pointer";
}
}
/**
为其他复选框添加按钮
*/
for(var i=0 ;i<checkboxArr.length;i++){
checkboxArr[i].onclick = function(){
var flag = true;
for(var j=0 ;j<checkboxArr.length;j++){
if(checkboxArr[j].checked == false)
flag = false;
}
checkAll.checked = flag;
}
}
checkAll.style.cursor="pointer";

测试例子

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>test</title>
</head>

<body>

<div id="main" class="main">
<table border="1" class="form_table" border="0" cellspacing="0" cellpadding="0">
<tr>
<th class="list_first_first_left"><input type="checkbox" name="flag_all" selected="true"/>全选</th>
</tr>
<tr>
<td class="list_nofirst_first_left"><input type="checkbox" name="selected" /></td>
</tr>
<tr>
<td class="list_nofirst_first_left"><input type="checkbox" name="selected"/></td>
</tr>
<tr>
<td class="list_nofirst_first_left"><input type="checkbox" name="selected"/></td>
</tr>
</table>
</div>
//引入javascript
<script type="text/javascript" src="test.js"></script>
</body>


---高分离度---
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在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、付费专栏及课程。

余额充值