Javascript 如果选中一个复选框,则结束函数
我有一个div,当选中三个复选框PCOF、PCTMI或PCRM中的任何一个时,id PCsetup设置为滑动打开,但如果三个复选框中的一个或两个已经选中,并且用户选中了另一个复选框,我想在滑动打开之前结束函数,因为它实际上会关闭PCsetup div。如果其他两个复选框被选中,我如何让函数检查,如果没有选中,让div向下滑动?以下是我目前掌握的情况:Javascript 如果选中一个复选框,则结束函数,javascript,jquery,function,if-statement,return,Javascript,Jquery,Function,If Statement,Return,我有一个div,当选中三个复选框PCOF、PCTMI或PCRM中的任何一个时,id PCsetup设置为滑动打开,但如果三个复选框中的一个或两个已经选中,并且用户选中了另一个复选框,我想在滑动打开之前结束函数,因为它实际上会关闭PCsetup div。如果其他两个复选框被选中,我如何让函数检查,如果没有选中,让div向下滑动?以下是我目前掌握的情况: $(function() { $("input[type=checkbox]").on('click', function(){ if (
$(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');
}
});
});
});
差不多
$(function() {
var $chks = $('#PCOF, #PCRM, #PCTMI');
$chks.on('click', function(){
var checked = $chks.filter(':checked').length > 0, visible = $("#PCsetup").is(':visible');
console.log('dd', checked, visible)
if (checked && !visible) {
$("#PCsetup").finish().slideDown("slow");
} else if(!checked && visible){
$("#PCsetup").finish().slideUp("slow");
}
});
});
演示:你能在jsFiddle.net上做些什么吗?那代码在语法上是无效的。