代码之家  ›  专栏  ›  技术社区  ›  Kyle

jquery:如果选中复选框,则切换类

  •  4
  • Kyle  · 技术社区  · 14 年前

    我是一个jquery的笨蛋,似乎我一直都在努力让这个简单的东西工作。

    我想要的是,当复选框被选中时,用 display: none; .

    这里有一个 jFiddle 我搞得一团糟的例子。

    感谢您的帮助或其他解决方案:)

    3 回复  |  直到 14 年前
        1
  •  13
  •   Nick Craver    14 年前

    我同意卡里姆的观点,如果你只需要隐藏/展示,使用 .toggle(bool) ,如果您的示例被简化,并且您需要一个类,请使用 .toggleClass("class", bool) ,像这样:

    $(function(){
      $("#checkbox4").change(function() {
        $("#checkout-shipping-address").toggleClass("show-hide", this.checked)
      }).change();
    });​
    

    You can test it out here 最后一个 .change() 调用是在页面首次加载时使状态匹配, here's what I mean .

        2
  •  6
  •   karim79    14 年前

    不需要 show-hide 班级。只需传递一个布尔值来切换,并使用 triggerHandler ,它允许您在不实际影响元素状态的情况下激发绑定到元素的事件处理程序:

    $(document).ready(function() {
        $("#checkbox4").click(function() {
            $("#checkout-shipping-address").toggle(this.checked);
        }).triggerHandler('click');
    });
    

    演示: http://jsfiddle.net/nQnDG/3/

        3
  •  0
  •   jwueller    14 年前

    尝试以下代码:

    $(function(){
        $('#checkbox4').change(function() {
            $("#checkout-shipping-address").toggleClass("show-hide");
        });
    });
    

    你需要把 change click 事件以作出反应。