2012-03-12 145 views
1

我有幾個複選框,標記爲星期一,星期二,星期三,通過防曬。我想要一個標記爲ALL的複選框,它將取消選中並禁用其他7個複選框。我正在使用JQuery,但是我找不到這個特定問題的文檔。複選框選中時所有其他取消,並uncheckable

這裏的HTML:

<div class="feed-info-input-lbl-set"> 
    <div class="feed-info-label lbl-company-role">Delivery</div> 
    <div class="checkbox-and-value"> 
     <div class="feed-info-input input-delivery-day" >SUN 
      <br /> 
      <input id="chk-sun" class="chk-ctrl" type="checkbox" name="delivery-day" value="sunday" /> 
     </div> 
     <div class="feed-info-input input-delivery-day" >MON 
      <br />  
     <input id="chk-mon" class="chk-conn" type="checkbox" name="delivery-day" value="monday" /> 
     </div> 
     <div class="feed-info-input input-delivery-day" >TUE 
    ...ETC 
</div> <!-- End Checkboxes --> 

任何人有關於如何實現這方面的消息?

謝謝。

+0

你嘗試過什麼?檢查jQuery的'.prop'方法來設置複選框的'checked'屬性 – 2012-03-12 18:25:15

+0

綁定到選中並取消選中所有其他選項的「ALL」選中事件。就這樣。沒有特殊的功能來做到這一點。 – approxiblue 2012-03-12 18:26:49

回答

1

應該是相當簡單的。使用jquery選擇器來識別您的複選框(如果沒有代碼示例,則無法得到更精確的結果),然後在它們中間調用.prop(「checked」,false),然後調用.attr('disabled','disabled')。

......如果這樣不能解決您的問題,也許您可​​能會對您遇到的困難更清楚一些?

3

你可以嘗試像

$("#ALL").change(function(){ 
if($(this).is(":checked")){ 
$(":checkbox").not(this).attr("disabled","disabled").removeAttr("checked"); 
}else{ 
$(":checkbox").not(this).removeAttr("disabled"); 
} 

}); 
相關問題