Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在jQuery中组合复选框选择器以获得唯一结果_Javascript_Jquery_Checkbox - Fatal编程技术网

Javascript 在jQuery中组合复选框选择器以获得唯一结果

Javascript 在jQuery中组合复选框选择器以获得唯一结果,javascript,jquery,checkbox,Javascript,Jquery,Checkbox,我有3个复选框,我希望这些复选框的所有组合显示不同的结果,但我无法确定如何执行。我觉得有一种简单的方法可以做到这一点,但我却错过了 这是到目前为止我掌握的弗兰肯斯坦怪物代码,它并没有达到我想要的效果。目的是让下面的代码看到用户已经选中了“webcam”(#checkWebcam)和“chat”(#checkChat)框,并且根据该选择组合显示了不同的下载链接 jQuery('#checkWebcam, #checkChat').change(function() { var isChec

我有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>');
});
jQuery('#检查网络摄像头,#检查聊天')。更改(函数(){
var isChecked=jQuery(“#checkWebcam,#checkChat”).is(“:checked”);
如果(已检查)
jQuery('div.strip.download').html(“”);
其他的
jQuery('div.strip.download').html(“”);
});

有谁能帮助我真正实现这个目标?提前谢谢。

这将执行
操作

var isChecked = jQuery('#checkWebcam, #checkChat').is(':checked');
您基本上需要在这里执行
操作,因此使用

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')
    }    
});

@FrédéricHamidi如果任何一个选择器符合要求,它不会返回true吗。。?让我用小提琴来测试一下…@FrédéricHamidi,但我在这里测试了一下。。请解释一下……嗯,我也应该这么做,因为我确实完全错了。我的印象是,
is()
的行为与getter相同,但文档与您的一致。我的道歉。@FrédéricHamidi我记得,有一次adneo告诉我这件事。。你真是太好了……:)谢谢你的回复操作符是我熟悉的东西,但不知道它们在jQuery中工作。我已经试着按照你的建议去做了,但我似乎无法使它起作用。您能举一个如何在JSFIDLE中使用它的例子吗?非常感谢。我想我了解您的解决方案是如何工作的,但想法是用户可以勾选/取消勾选3个复选框,最终创建8或9个结果组合。这看起来好像它只能支持二进制类型的是/否情况。这是对的,还是我误读了?