返回:使用is()选中复选框值
Return :checked checkboxes value with is()
我有多组复选框,所以我在一个变量中分配了每一组。
var $set1 = $('.suppliers'), $set2 = $('.products'), $set3 = $('.customer')//etc...
然后在我的代码的某个地方,我想把每个集合:检查值放在一个数组中:
var set1Arr = [];
$set1.is(':checked').each(function() {
set1Arr.push($(this).val());
});
但什么都没有返回,我也进行了调试,在控制台上它说Object并没有方法"each"。我尝试使用not(":checked"),它运行正常,返回了未检查的值。
使用.map()创建数组
var set1Arr = $set1.filter(':checked').map(function() {
return this.value;
}).get();
.filter()
.is()返回一个布尔值。
使用filter(':checked')
。
not()
不是is()
的对立面,而是!.is()
。CCD_ 5与CCD_ 6相反。
你只是误解了这两种方法的工作原理。
is()
检查当前元素集中的一个元素是否与选择器匹配,并返回boolean
:
if($('input[type="checkbox"]').is(':checked')){
//if at least one checkbox is checked do something...
}
not()
是一种过滤方法,它使用选择器检查每个元素,只返回与选择器不匹配的元素。
您需要使用.filter()
var set1Arr = [];
$set1.filter(':checked').each(function() {
set1Arr.push($(this).val());
});
或更好的
var set1Arr = $set1.filter(':checked').map(function() {
return this.value
}).get();
像一样尝试
$set1.each(function() {
if($(this).is(':checked'))
set1Arr.push($(this).val());
});
$set1.each(function() {
if($(this).is(':checked')){
set1Arr.push($(this).val());
}
});
试试这个:
var checkboxValue = $(this).prop('checked');
或
$(this).is(':checked'); //return boolean
相关文章:
- 复选框:使用Array.prototype.forEach调用推送选中订单,
- 取消选中一个复选框时,如何启用所有复选框?使用javascript
- 多个复选框使用jquery进行切换
- 复选框:使用 Javascript 而不是 JQuery 选中
- 如果另一个复选框使用 javascript 选中,请取消选中另一个复选框
- 加载页面时,如何使复选框使用角度进行检查
- 使用嵌套列表视图中的复选框.父复选框使用JQuery选择所有子复选框
- 对双向级联复选框使用jQuery
- 伪造复选框[使用jquery]
- 像单选按钮一样的复选框|使用icheck.js
- 复选框使用Javascript将文本插入文本区域
- 如何设置“复选框”使用javascript从treeview检查
- 在Apex表格中选择一组复选框(使用jQuery)
- 如何改变状态的所有复选框(在所有页面),当点击selectAll复选框[使用jQuery数据表]
- 如何显示/隐藏
当点击复选框使用javascript或jquery - 我想让jquery更新复选框使用ajax
- 禁用复选框使用jquery不工作
- 复选框:使用按钮开/关
- Javascript复选框:使用一个按钮将一个组更改为checked
- 如何启用文本框,当取消一个复选框使用javascript