2013-03-12 62 views
3

所以我有一個div thats自動生成,裏面有3個複選框與不同的ID的&名稱,默認情況下,他們都沒有檢查!如果碰巧得到檢查,那麼我需要其他兩個未檢查!Jquery複選框裏面的div在時間檢查一個

因此,只有一個可以一次檢查...

因此,所有的選中狀態,或者只有一個檢查!

<div class="configoptions"> 
    <table class="configtable" cellpadding="0" cellspacing="0" width="100%"> 
     <tbody> 
      <tr> 
       <td class="fieldlabel">Include:</td> 
       <td class="fieldarea"> 
        <label><input name="configoption[10]" id="co30" value="1" onclick="recalc()" type="checkbox">green</label> 
       </td> 
      </tr> 
      <tr> 
       <td class="fieldlabel">Include:</td> 
       <td class="fieldarea"> 
        <label><input name="configoption[9]" id="co27" value="1" onclick="recalc()" type="checkbox">blue</label> 
       </td> 
      </tr> 
      <tr> 
       <td class="fieldlabel">Include:</td> 
       <td class="fieldarea"> 
        <label><input name="configoption[11]" id="co31" value="1" onclick="recalc()" type="checkbox">white</label> 
       </td> 
      </tr> 
     </tbody> 
    </table> 
</div> 

這裏是我用來取消頁面上的所有div準備..因爲最初我需要他們選中..這偉大工程......現在我需要讓這樣只有一個是如果時間檢查它被檢查!有人能給我一隻手嗎? Thx提前!

$(document).ready(function() { 
    $('input[type=checkbox]').each(function() { 
     this.checked = false; 
    }); 
}); 
+2

爲什麼不使用單選按鈕? – dfsq 2013-03-12 08:27:43

+0

我想因爲他想取消選中。沒有? – Vytautas 2013-03-12 08:29:16

+0

你需要單選按鈕才能做到這一點。如果您不預先選擇任何單選按鈕,則它們將全部開始未選中。 – 2013-03-12 08:42:50

回答

7

使用prop功能改變的複選框,單選按鈕的checked屬性

$(function(){ 
    $('input:checkbox').prop('checked', false) 
    $('input:checkbox').click(function(){ 
     if($(this).is(':checked')){ 
      $('input:checkbox').not(this).prop('checked', false);   
     } 
    }); 
}) 

演示:Fiddle

0

我也有類似的問題,解決它,像這樣(用阿倫的一部分P Johny的回答 - 我想分享給那些可能會碰到這種情況的人。)

(function($checkbox,options){        
      $($checkbox).on('change', function() {     
       $("input[type='checkbox']").not(this).prop('checked', false);    
      });    
     });