簡體   English   中英

組合復選框選擇器以在jQuery中獲得唯一結果

[英]Combining checkbox selectors for unique results in jQuery

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

有人可以幫助我實現實際目標嗎? 先感謝您。

這將執行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')
    }    
});

DEMO

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM