将jquery条件is(':checked')转换为布尔数组
convert jquery condition is(':checked') into boolean array
快速且肮脏。我想检查是否所有的孩子复选框都被选中,所以我会转换
$(this).parent().find(':checkbox').is(':checked')
转换为布尔数组,以便用every()
方法在if
条件下对其进行检查。我试过every()
、toArray()
、makeArray
和它们的任何组合。哪条路正确?
你可以做:
var arr = $(this).parent().find(':checkbox').map(function() {
return this.checked;
}).get();
如果你只想看看是否所有的孩子都被检查了,就会得到bool数组:
var areAllChecked = $(this).parent().find(':checkbox:not(:checked)').length === 0;
如果你想检查是否所有都检查过,那么测试是否有没有检查过,然后像一样否定它
!$(this).parent().find(':checkbox').is(':not(:checked)')
我想检查是否选中了所有子项复选框
我想您可以使用这种语法来实现这一点,而不是使用布尔值数组。
var allAreChecked = ($(this).parent().find(':checkbox').not(':checked').length === 0);
tymeJV答案的变化:
$(this).parent().find(':checkbox').get().every(function(el){ return el.checked });
这只是get
是元素的底层数组,并直接在该数组上使用every
来检查相关属性。如果任何复选框未通过this.checked
,则返回false。
演示:
function allChecked(){
return $(this).parent().find(':checkbox').get().every(function(el){
return el.checked
});
}
$('button').on('click', function(){ alert( allChecked.call(this) ) })
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox">
<input type="checkbox">
<input type="checkbox">
<button>All checked?</button>
相关文章:
- 将字符串动态转换为布尔值
- 布尔类型转换系统(Java)
- 检查布尔值并将其转换为对象中的数字
- Javascript 检查字符串是否为真或假,并转换为布尔值
- 在打字稿中将“布尔位数组”转换为数字
- JavaScript 根据 PHP 的实践将布尔值转换为字符串
- 字符串转换为未定义/空值/数字/布尔值
- 如何转换“;“错误”;字符串转换为布尔值false
- Javascript & lodash ..将 _.查找结果转换为布尔值
- 将jquery条件is(':checked')转换为布尔数组
- Ajax调用后将布尔值转换为布尔值
- 当在布尔上下文中使用时,为什么要将对象转换为布尔值
- 引导复选框到单选按钮组转换布尔值
- json布尔值转换为字符串
- 为什么 null 未在条件语句中转换为布尔值
- 更快的布尔值从字符串转换
- 使用JavaScript将字符串转换为布尔值总是给出false
- 将布尔结果转换为数字/整数
- 做&&并且||运算符将其操作数转换为布尔值
- 是否有可能搜索一个布尔在蒙古与ajax帖子没有服务器端转换