在jQuery中组合复选框选择器以获得唯一的结果
Combining checkbox selectors for unique results in jQuery
我有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')
}
});
相关文章:
- 奇怪的Javascript结果
- Javascript(jQuery)给了我奇怪的结果
- JSONP请求返回结果,但也触发error_callback
- 如何在chrome扩展中存储数据/结果,以及如何使用setTimeout使其只被调用一次
- Javascript,输出结果后页面不断刷新
- 这是使用html快照和谷歌获取的预期结果吗?SEO/SPA
- 将地理编码结果转换为php变量以发布到mysql数据库
- AngularJS/HTML/Bootstrap元素用于动态搜索结果
- JQuery:向多个匹配结果添加换行符的最简单方法
- 当查询不在displayField中时,引导Ajax Typeahead不显示结果
- webpack代码拆分了handlerbs文件——结果是文件很大
- 具有唯一正方形的NaN结果
- 如何从数组中获得唯一的结果
- 输出一个结果数组,其中包含给定数组的唯一元素的分组计数
- 如何合并两个只有唯一或不同值的复杂JSON对象,这些值只显示在结果数组中
- 具有唯一结果的两个数字组合的精简算法
- 在jQuery中组合复选框选择器以获得唯一的结果
- 使用jQuery从JSON数组中获得唯一的结果
- mongo结果与唯一字段不一致
- 在Javascript中过滤出PostgreSQL查询结果中唯一的数据