取消选择所有复选框时出现问题 Un 选中子项之一
Issue on Deselecting All Checkbox on Un checking one of Child
我正在尝试使用以下代码使用 jquery 检查所有复选框,这些代码在切换选中时全选和取消选中slectAll
时工作正常
现在我想取消选中slectAll
,以防出现用户取消选中其中一个 ieldset 复选框的情况。我试过这段代码
$.each($("input[name='numbers']:not(:checked)"), function () {
$('input:checkbox[name=slectAll]').prop("checked", false);
});
但它没有完成这项工作!
<input id="boxid" type="checkbox" name="slectAll">
<label for="boxid">Select All</label>
<fieldset id="group_1">
<input type="checkbox" name="numbers[]" value="0" />
<input type="checkbox" name="numbers[]" value="1" />
<input type="checkbox" name="numbers[]" value="2" />
<input type="checkbox" name="numbers[]" value="3" />
<input type="checkbox" name="numbers[]" value="4" />
</fieldset>
而 jquery 文件是
$(function () {
$('input:checkbox[name=slectAll]').change(function () {
if ($(this).is(':checked')) {
$('#group_1').find(':checkbox').prop("checked", true);
} else {
$('#group_1').find(':checkbox').prop("checked", false);
}
});
$.each($("input[name='numbers']:not(:checked)"), function () {
$('input:checkbox[name=slectAll]').prop("checked", false);
});
});
你能告诉我如何解决这个问题吗? 谢谢
您还需要为这些复选框设置一个更改处理程序
$(function() {
var $all = $('input:checkbox[name=slectAll]').change(function() {
$checks.prop("checked", this.checked);
});
var $checks = $('#group_1 :checkbox').change(function() {
$all.prop("checked", $checks.not(':checked').length == 0);
});
$('button').click(function() {
var array = $checks.filter(':checked').map(function() {
return this.value
}).get();
alert(array);
return;
//demo of ajax request
$.ajax({
url: '',
data: {
myvalues: array,
usrename: somevalue
}
})
})
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input id="boxid" type="checkbox" name="slectAll">
<label for="boxid">Select All</label>
<fieldset id="group_1">
<input type="checkbox" name="numbers[]" value="0" />
<input type="checkbox" name="numbers[]" value="1" />
<input type="checkbox" name="numbers[]" value="2" />
<input type="checkbox" name="numbers[]" value="3" />
<input type="checkbox" name="numbers[]" value="4" />
</fieldset>
<button>Test</button>
您可以将复选框的总数与选中的数量进行比较,并根据需要翻转slectAll
:
$(function () {
var sAll = $('input:checkbox[name=slectAll]'),
other = $('#group_1 :checkbox');
sAll.on('change', function() {
other.prop('checked', this.checked);
});
other.on('change', function() {
sAll.prop('checked', other.length === other.filter(':checked').length);
});
});
$(function () {
var sAll = $('input:checkbox[name=slectAll]'),
other = $('#group_1 :checkbox');
sAll.on('change', function() {
other.prop('checked', this.checked);
});
other.on('change', function() {
sAll.prop('checked', other.length === other.filter(':checked').length);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input id="boxid" type="checkbox" name="slectAll">
<label for="boxid">Select All</label>
<fieldset id="group_1">
<input type="checkbox" name="numbers[]" value="0" />
<input type="checkbox" name="numbers[]" value="1" />
<input type="checkbox" name="numbers[]" value="2" />
<input type="checkbox" name="numbers[]" value="3" />
<input type="checkbox" name="numbers[]" value="4" />
</fieldset>
相关文章:
- 在指令控制器中使用$attrs时出现问题
- 将PHP变量传递给jQuery时遇到问题
- Canvas Html5绘图应用程序,移动画布会导致重大问题
- 参数变量出现ngTable指令问题
- 剑道网格jQuery动画()问题
- 我的jQuery插件参数没有正确启动,遇到了问题
- Phonegap-(安卓/iphone)多个图像的图像库出现问题
- TableExport jquery插件:文件名和扩展名问题
- JavaScript Pub/Sub属性访问问题
- JavaScript异步问题
- 如何解决Yii中的页面刷新问题
- Safari(Mac OS)上的jQuery平滑滚动问题
- jqGrid树网格问题
- 使用正则表达式评估电子邮件地址时出现性能问题
- 如何消除代码中的未定义和其他问题
- JavaScript代码问题:我正在将对象转换为数组
- 三星智能电视应用程序;Brightcove示例应用程序远程控制问题
- 由于iframe导致的问题
- ReactJS和SpringDataRest缓存问题可能与websocket有关
- 取消选择所有复选框时出现问题 Un 选中子项之一