javascript - 如果选中一个复选框,则结束函数

标签 javascript jquery function if-statement return

我有一个 ID 为“PCsetup”的 div,设置为在选中三个复选框(#PCOF、#PCTMI 或 #PCRM)中的任何一个时滑动打开,但如果已选中这三个复选框中的一两个,并且用户选中另一个复选框,我想在它滑开之前结束该功能,因为它实际上会关闭“PCsetup”div。我怎样才能让函数检查其他两个复选框是否被选中,如果没有,则让 div 向下滑动?这是我到目前为止所拥有的:

$(function() {
$("input[type=checkbox]").on('click', function(){
    if ($("#PCOF").is(':checked'))|| ($("#PCRM").is(':checked')) {
       return;
    } else if $('#PCTMI').is(':checked')){
        $("#PCsetup").slideDown("slow");
    } else { 
        $("#PCsetup").slideUp("slow");
    }
});

最佳答案

有几件事:1.示例中的匿名函数未关闭,因此代码无效。 2.我很难准确地理解您想要完成的任务,但听起来您想在选中任何复选框组合时显示 div,如果没有选中复选框则隐藏它。这将为您带来结果:

$(document).ready(function() {
  $(function() {
    $('#PCOF, #PCTMI, #PCRM').on('click', function() {
      var numChecked = $('#PCOF:checked, #PCTMI:checked, #PCRM:checked').length;

      if (!numChecked) {
        $('#PCsetup:visible').slideUp('slow');
      } else {
        $('#PCsetup').slideDown('slow');
      }   
    });
  });
});

http://jsbin.com/IsutuhI/3

关于javascript - 如果选中一个复选框,则结束函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18434871/

相关文章:

javascript - 正则表达式 JavaScript : Match consecutive single line comments

javascript - 如何使用主题更改 Material UI 中按钮的形状?

javascript - 使用 jQuery/Javascript 自动将数据填充到字段中

使用 SSE SIMD 转换函数

JavaScript promise 使用 setTimeout 解决

javascript - 是否有类似于 `onload` 的任何 Ember 事件

javascript - Ajax 发布响应返回空对象

PHP - 使用 var_dump 时 SQL 查询返回 array(0) { }

Javascript 函数调用具有不同的调用方式

c - C编译器在功能之前需要标识符