我有3个复选框,我希望这些复选框的所有组合显示不同的结果,但我不知道如何做到这一点。感觉有一种简单的方法可以做到这一点,我错过了。
这是我到目前为止的弗兰肯斯坦怪物代码,它没有做我想要的。目的是让下面的代码看到用户同时选中了"webcam"(#checkWebcam)和"chat"(#checkChat)框,并且根据选择组合显示了不同的下载链接…
jQuery('#checkWebcam, #checkChat').change(function() {
var isChecked = jQuery('#checkWebcam, #checkChat').is(':checked');
if(isChecked)
jQuery('div.strip.download').html('<a href="<?php echo $nos; ?>" class="btn btn-lg btn-to gradient-to">Download</a>');
else
jQuery('div.strip.download').html('<a href="<?php echo $download; ?>" class="btn btn-lg btn-to gradient-to">Download</a>');
});
谁能帮我如何实际实现这一目标?
这将执行OR
操作,
var isChecked = jQuery('#checkWebcam, #checkChat').is(':checked');
你需要在这里执行一个AND
操作,所以使用
var isChecked = jQuery('#checkWebcam').is(':checked') && $('#checkChat').is(':checked');
你可以试试下面的代码:
if ( $("#checkWebcam:checked, #checkChat:checked").length == 2 ) {
//your code
}
如果选择一个或两个,var isChecked = jQuery('#checkWebcam, #checkChat').is(':checked');
将返回true
。
将代码修改为
jQuery('#checkWebcam, #checkChat').change(function() {
var boxs = jQuery('#checkWebcam, #checkChat');
var checked = boxs.filter(':checked'); //Filter checked checkboxes
if(boxs.length == checked.length){ //if length are same
alert('both are checked')
}else{
alert('both are not checked')
}
});