javascript - 查找是否在父 div 中选中所有复选框
问题描述
我正在尝试获取 div 元素中两个输入复选框的状态。我只需要在检查两个复选框时才将标志变量设置为trui。如果任何输入复选框未选中,则应将其设置为 false。
我使用下面的代码使用for循环尝试了这个
var oParNode = oNode.ParentNode;
if (null != oParNode) {
for (var i = 0; i < oNode.ParentNode.Nodes.length; i++) {
if (oNode.ParentNode.Nodes[i].Checked) {
checked = true;
}
else {
checked = false;
}
}
}
在此代码中,Nodes[i] 返回输入元素。当我首先检查第一个复选框和接下来的第二个复选框时,此循环工作正常,但是当我首先检查第二个复选框时,根据最后执行的第二个复选框值将选中的变量设置为 true。
预期:只有当两个复选框都被选中时,我才需要返回 "checked" 为真。
有人可以建议我吗?
解决方案
您可以使用Array#some()
method来检查是否有未选中的:
var checked = oNode.ParentNode.Nodes.some(check => !check.checked)
推荐阅读
- python - 当我关闭 pygame 窗口时,screen.blit 图像出现黑屏和绘图
- c# - C# HttpClient 通用 SendAysnc 不起作用
- javascript - Express Route 不起作用,这是在响应回调函数中定义的
- r - dplyr 分组后用中位数替换 NA
- xcode - 如何在 Fastlane 中更改构建配置 - 通过 gym 、 build _app 或 xcodebuild
- android - 从工作管理器上传大视频时,应用程序在某些设备中突然崩溃
- database - Azure PostgreSql 连接致命:主机“xx.xx.xx.xx”、用户“xyz”、数据库“xyz”、SSL 上没有 pg_hba.conf 条目
- php - 图书馆 GD 问题
- node.js - 无法从 node.js 请求回调中设置变量
- sql - SQL从重复行中只选择一行