将父样式更改应用于组中的所有复选框;全部检查”;运行javascript函数
Apply a parent style change to all checkboxes in group when a "check all" javascript function is run
当前,当选中父div元素中的复选框时,我们使用javascript函数来更改该元素的颜色。这非常有效,并通过以下方式进行处理:
$("input[type='checkbox']").change(function(){
if($(this).is(":checked")){
$(this).parent().addClass("redBackground");
}else{
$(this).parent().removeClass("redBackground");
}
});
最近,我们添加了一个单独的javascript函数,允许通过选中或取消选中特定组顶部的复选框来选中或取消选择该组中的所有复选框:
function toggleGROUPNAME(source) {
checkboxes = document.getElementsByName('GROUPNAME');
for(var i=0, n=checkboxes.length;i<n;i++) {
checkboxes[i].checked = source.checked;
}
}
然而,尽管我们尝试了我们能想到的一切,我们还是无法弄清楚如何让第二个函数——处理组中所有复选框的选中或取消选中的函数——也更改该事件的父DIV的背景色。任何帮助、建议或例子都将不胜感激。
非常感谢。
Richard
您可以显式触发更改事件:
$(checkboxes).change();
如果一个组的复选框总是有相同的父项,那么只触发一个复选框的事件就足够了:
$(checkboxes[0]).change();
这将跟踪你的循环:
function toggleGROUPNAME(source) {
// don't forget var!!
var checkboxes = document.getElementsByName('GROUPNAME');
for(var i=0, n=checkboxes.length;i<n;i++) {
checkboxes[i].checked = source.checked;
}
$(checkboxes).change();
}
function toggleGROUPNAME(source) {
checkboxes = document.getElementsByName('GROUPNAME');
$("input[type='checkbox']").removeClass("redBackground");
for(var i=0, n=checkboxes.length;i<n;i++) {
checkboxes[i].checked = source.checked;
$(checkboxes[i]).parent().addClass("redBackground");
}
}
相关文章:
- JavaScript-切换“;全部检查”;复选框true/false
- 复选框“全部”不适用于Jquery DataTable 1.10.5版本
- 全部/无复选框
- 选择全部单击复选框以及全部拒绝
- jquery全部复选框加重置
- 复选框选中全部选项
- 选中全部复选框应取消选中
- 通过 Javascript 或控制台选中“全部”复选框
- 复选框选中全部无法检测数据
- Javascript-如何检查“;确定“;复选框,而不是全部使用我当前的代码
- 将父样式更改应用于组中的所有复选框;全部检查”;运行javascript函数
- "全部检查”;不选中复选框
- 按id选择页面中的全部/取消选择所有复选框
- 复选框切换全部使用jquery触发器功能
- 在多个复选框中选中全部或取消选中全部
- jQuery -复选框计数,但不是当点击“全部勾选”复选框
- 在选中“全部”时,如何取消选中相关复选框?复选框并取消选择“全部”;复选框中的复选框
- 选择“全部复选框”
- 自动选中/取消选中“全部”;复选框
- 如何查找选中的全部复选框