javascript - jQuery 使用 toggleClass 选择所有复选框

标签 javascript jquery html css checkbox

我已经看到了这方面的其他例子,但还没有成功地让它正常运行。我看到的示例也只是使用常规复选框。我使用了一个类来通过 sprite 表对复选框进行样式化,因此在将这些其他示例的想法应用到我的案例中时遇到了一些麻烦。

这是标记:

<div id="showHideAll"">Show/Hide All<input type="checkbox" id="allCheck" name="pinSet" class="pinToggles" onclick="checkAllLinks()">
    <label for="allCheck" class="css-label"></label></div>
</div>

<div>Opt1<input type="checkbox" id="opt1Check" name="pinSet" class="pinToggles" onclick="checkOpt1Links()">
    <label for="opt1Check" class="css-label"></label>
</div>

<div>Opt2<input type="checkbox" id="opt2Check" name="pinSet" class="pinToggles" onclick="checkOpt2Links()">
     <label for="opt2Check" class="css-label"></label>
</div>

<div>Opt3<input type="checkbox" id="opt3Check" name="pinSet" class="pinToggles" onclick="checkOpt3Links()">
     <label for="dinShopCheck" class="css-label"></label>
</div>

checked 属性是使用 css 类更改 Sprite 的内容。

input[type=checkbox].pinToggles:checked + label.css-label {
background-position: 0 -16px;
}

其中大部分用于其他功能,但我认为我会展示它以防万一。

这是我设置各个复选框的方式:

function checkOpt1Links(){
    $('#opt1 li a').toggleClass("inactive");

 if(opt1.getVisible() == true)
    {       
        opt1.setOptions({visible:false});
    }
    else
    {
        opt1.setOptions({visible:true});
    }
}

我正在寻找的是典型的全选复选框功能,如果您选中它,则所有复选框都选中,如果您取消选中它们,则全部取消选中,但如果您在选中全选时单击一个框,则全选并单击复选框取消选中,反之亦然。我确实看过这个例子:Jquery "select all" checkbox但只是很难让它发挥作用。感谢您的帮助!

最佳答案

1) 使用 change 事件处理程序代替 click checkboxradio 按钮。

你可以像这样让它变得简单

$('#showHideAll').on('change', 'input[type=checkbox]', function () {
    if ($('.pinToggles').is(':checked')) {
        $('.pinToggles').prop('checked', false)
    }
    else {
    $('.pinToggles').prop('checked', true)
    }
});

2) 我只在下面的 checkbox 中删除了 classonclick 事件处理程序。

HTML:

<div id="showHideAll">Show/Hide All<input type="checkbox" id="allCheck" name="pinSet" >
    <label for="allCheck" class="css-label"></label></div>
</div>

检查这个JSFiddle

关于javascript - jQuery 使用 toggleClass 选择所有复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19362856/

相关文章:

php - 故意减慢 HTML/PHP 页面加载以进行测试

javascript - 按钮点击后消失 Js/html

javascript - 无法使用 AngularJS 在编号 "appState"上创建属性 "200"

html - 我可以编写一个 CSS 选择器来选择没有特定类或属性的元素吗?

javascript - Firebase:查询返回 null

javascript - 为什么要避免页内 &lt;script&gt;

javascript - 即使你没有调用函数也会运行

javascript - 在 JavaScript 中获取两个日期之间所有星期一的日期

javascript - 将 Div Text 代码内联添加到 onclick 事件

c# - 获取通过 json 从 Controller 作为 Hashtable 接收的 javascript 中的对象属性值