我有3个复选框,我希望这些复选框的所有组合显示不同的结果,但我无法弄清楚如何执行此操作。感觉就像有一种简单的方法可以解决这个问题。
这是我迄今为止所拥有的弗兰肯斯坦怪物代码,它不会做我喜欢的事情。目的是以下代码看到用户已检查过"网络摄像头" (#checkWebcam)和"聊天" (#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>');
});
有人能帮助我实现这个目标吗?提前谢谢。
答案 0 :(得分:1)
这将执行OR
操作,
var isChecked = jQuery('#checkWebcam, #checkChat').is(':checked');
你基本上需要的是在这里执行AND
操作,所以使用
var isChecked = jQuery('#checkWebcam').is(':checked') && $('#checkChat').is(':checked');
答案 1 :(得分:1)
您可以尝试以下代码:
if ( $("#checkWebcam:checked, #checkChat:checked").length == 2 ) {
//your code
}
答案 2 :(得分:0)
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')
}
});