JavaScript 复选框全选、反选及批量取值实现

作者:异步漫步时间:2026-10-23 14:58:52浏览:331

本文提供基于原生 JavaScript 的复选框操作方案,涵盖全选、反选及批量获取选中值的功能。通过 document.getElementsByName 遍历元素,结合 type 判断筛选 checkbox,实现状态切换与数组收集。示例展示了如何将选中项的 value 拼接为字符串并赋值给文本框,适用于需要批量处理数据的场景。

复选框全选与反选实现

定义全选功能函数 selectAll()。


{

通过 document.getElementsByName('twId') 获取页面中所有 name 属性为 'twId' 的元素集合。


声明循环变量 i。


启动 for 循环,遍历元素集合 objs,索引 i 从 0 开始直至 objs.length。


{

在循环内部判断当前元素 objs[i] 的 type 属性是否等于字符串 "checkbox"。


{

若判断为复选框,则将其 checked 属性设置为 true,实现选中状态。


}
}
}

定义反选功能函数 unselect()。


{

同样通过 document.getElementsByName('twId') 获取目标元素集合。


声明循环变量 i。


启动 for 循环,遍历元素集合 objs,索引 i 从 0 开始直至 objs.length。


{

在循环内部判断当前元素 objs[i] 的 type 属性是否等于字符串 'checkbox'。


{

若为复选框,进一步判断其 checked 属性是否已为 true。


{

若已选中,则将 checked 属性设置为 false,实现取消选中。


}

若未选中(即 else 分支)。


{

将 checked 属性设置为 true,实现选中。


}
}
}
}

批量获取选中值与数组处理

定义获取批量处理 twId 的函数 idArray()。


{

通过 window.document.getElementsByName('twId') 获取目标元素集合。


声明循环变量 i。


初始化一个空数组 idArray 用于存储结果。


声明计数器变量 j 并初始化为 0。


启动 for 循环,遍历元素集合 objs,索引 i 从 0 开始直至 objs.length。


{

在循环内部判断当前元素 objs[i] 的 type 属性是否等于字符串 'checkbox'。


{

若为复选框,进一步判断其 checked 属性是否已为 true。


{

若已选中,则将当前元素的 value 赋值给 idArray 数组的第 j 个位置。


计数器 j 自增 1,准备存储下一个选中项。


}
}
}

循环结束后,返回包含所有选中项 value 的 idArray 数组。


}

定义获取批量处理 city 的函数 evArray()。


{

通过 window.document.getElementsByName('twId') 获取复选框元素集合。


通过 window.document.getElementsByName('cityStr') 获取对应的城市字符串元素集合。


声明循环变量 i。


初始化一个空数组 evArray 用于存储结果。


声明计数器变量 j 并初始化为 0。


启动 for 循环,遍历复选框集合 objs,索引 i 从 0 开始直至 objs.length。


{

在循环内部判断当前元素 objs[i] 的 type 属性是否等于字符串 'checkbox'。


{

若为复选框,进一步判断其 checked 属性是否已为 true。


{

若已选中,则将 evObj 集合中对应索引 i 的元素的 value 赋值给 evArray 数组的第 j 个位置。


计数器 j 自增 1,准备存储下一个选中项对应的城市值。


}
}
}

循环结束后,返回包含所有选中项对应城市值的 evArray 数组。


}

将选中结果写入文本框

定义将选中值写入文本框的函数 selectUser()。


{

初始化一个空数组 userIds。


调用 idArray() 函数,将返回的选中 ID 数组赋值给 userIds。


使用 join(",") 方法将 userIds 数组转换为以逗号分隔的字符串。


通过 document.getElementById('member') 获取目标文本框元素,并将其 value 设置为拼接后的字符串。


}
作者最新文章