我有一个 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');
}
});
});
});
关于javascript - 如果选中一个复选框,则结束函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18434871/