切换复选框并隐藏内容

时间:2013-07-07 17:21:56

标签: jquery checkbox toggle

有人可以帮我解决这个简单的功能:

我有2个复选框,一个名为“其他”,另一个名为“信息

当用户点击“其他”“信息”时,需要停用并隐藏部分内容。 选中“信息”时,需要启用“其他”并显示其他内容。

以下是代码:

  $("#mydiv").on("click", ".docheck :checkbox", function () {
      if ($(this).is(':checked')) {
          if ($(this).prop('name') == "other") {
              $(".header").toggle()
          } else {
              $(".header").toggle()
              $('.docheck').find('input[type=checkbox]').prop('checked', false);
              $(this).prop('checked', true)
          }
      }
  });

到目前为止它的部分工作。点击几下后,两个复选框最终都会被检查。

1 个答案:

答案 0 :(得分:0)

您的意思是选中/取消选中未启用/禁用。

用一个函数解决我:

  1. 保存当前选中的支票
  2. 清除情况
  3. 根据先前检查的元素
  4. 设置当前选择/可见性

    代码可以更好,但目前:

    $(document).ready(function () {
        $("#mydiv").on("click", ".docheck", function () {
            wasCheck = $(this).is(':checked');
            $('.docheck').prop('checked', false);
            $(".header, .info").hide();
            if (wasCheck) {
                if ($(this).prop('name') == "other") {
                    $(".header").show()
                } else {
                    $(".info").show()
                }
                $(this).prop('checked', true)
            }
        });
    });
    

    小提琴:http://jsfiddle.net/TYhqZ/1