当使用jquery'.toggle'输入元素被隐藏?

时间:2014-02-24 22:44:57

标签: javascript jquery checkbox

我想要一个'全选'复选框,用于在点击时检查/取消选中所有其他复选框。

我在另一个Stack Overflow问题(jquery select all checkboxes

中使用此脚本
$(function () {
  $('#select-all').toggle(
    function() {
        $('.subscription-type').prop('checked', true);
    },
    function() {
        $('.subscription-type').prop('checked', false);
    }
  );
});

出于某种原因,这会将“display:none”应用于我的复选框。为什么???

<input> getting 'display: none' applied

Demo

2 个答案:

答案 0 :(得分:1)

使用clickchange代替toggle

$(function () {
    $('#select-all').click(
      function(){
        $('.subscription-type').prop('checked', $(this).is(":checked"));
      });
});

Updated Demo

答案 1 :(得分:0)

在您尝试使用它时,toggle事件从jQuery 1.8开始就被弃用。

当前切换只是一个隐藏/显示功能