在JavaScript中,`checkbox`(复选框)是一种常见的表单元素,用于让用户可以选择一个或多个选项。在网页交互中,复选框经常被用来实现全选、反选、获取选中项等操作。以下是一些关于JS复选框的使用技巧和实例代码。 1. **全选功能**: `selectAll()` 函数实现了全选的功能。它通过`getElementsByName`方法获取所有名为`twId`的元素,然后遍历这些元素,如果元素类型是`checkbox`,则将其`checked`属性设置为`true`,表示选中该复选框。 ```javascript function selectAll() { var objs = document.getElementsByName('twId'); var i; for (i = 0; i < objs.length; i++) { if (objs[i].type == "checkbox") { objs[i].checked = true; } } } ``` 2. **反选功能**: `unselect()` 函数实现了反选功能,即已选中的复选框变为未选中,未选中的变为选中。同样,它遍历所有`twId`元素,但这次根据当前`checked`状态来改变其状态。 ```javascript function unselect() { var objs = document.getElementsByName('twId'); var i; for (i = 0; i < objs.length; i++) { if (objs[i].type == 'checkbox') { if (objs[i].checked == true) { objs[i].checked = false; } else { objs[i].checked = true; } } } } ``` 3. **获取选中项的ID**: `idArray()` 函数返回一个数组,包含所有选中复选框的`value`属性。它遍历`twId`元素,当`checked`属性为`true`时,将对应的`value`存入数组。 ```javascript function idArray() { var objs = window.document.getElementsByName('twId'); var i; var idArray = new Array(); var j = 0; for (i = 0; i < objs.length; i++) { if (objs[i].type == 'checkbox') { if (objs[i].checked == true) { idArray[j] = objs[i].value; j = j + 1; } } } return idArray; } ``` 4. **获取选中项的其他属性**: `evArray()` 函数类似于`idArray()`,但它返回的是与`twId`复选框关联的`cityStr`属性的值。这个函数可以用来获取选中项的额外信息。 ```javascript function evArray() { var objs = window.document.getElementsByName('twId'); var evObj = window.document.getElementsByName('cityStr'); var i; var evArray = new Array(); var j = 0; for (i = 0; i < objs.length; i++) { if (objs[i].type == 'checkbox') { if (objs[i].checked == true) { evArray[j] = evObj[i].value; j = j + 1; } } } return evArray; } ``` 5. **将选中值写入文本框**: `selectUser()` 函数将选中复选框的`value`合并成一个逗号分隔的字符串,并将其显示在ID为`member`的文本框中。这个功能在用户需要提交一组选中项时非常有用。 ```javascript function selectUser() { var userIds = new Array(); userIds = idArray(); var userIdString = userIds.join(","); document.getElementById('member').value = userIdString; } ``` 以上代码展示了如何使用JavaScript操作复选框,包括全选、反选、获取选中项的ID和额外属性,以及将选中值写入文本框。在实际应用中,你可以根据需要调整这些函数,或者将它们整合到更复杂的表单交互逻辑中。
- 粉丝: 5
- 资源: 1004
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 5G模组升级刷模块救砖以及5G模组资料路由器固件
- C183579-123578-c1235789.jpg
- Qt5.14 绘画板 Qt Creator C++项目
- python实现Excel表格合并
- Java实现读取Excel批量发送邮件.zip
- 【java毕业设计】商城后台管理系统源码(springboot+vue+mysql+说明文档).zip
- 【java毕业设计】开发停车位管理系统(调用百度地图API)源码(springboot+vue+mysql+说明文档).zip
- 星耀软件库(升级版).apk.1
- 基于Django后端和Vue前端的多语言购物车项目设计源码
- 基于Python与Vue的浮光在线教育平台源码设计