2012-10-10 26 views
7

क्या कार्य है;
यदि चेकबॉक्स अक्षम है, तो कुछ भी नहीं करें।
चेकबॉक्स सक्षम है और जाँच की है, तो एक बटन की शैली निर्धारित किया है।
यहां तक ​​कि मुझे अब तक क्या मिला है;चेकबॉक्स अक्षम (JQuery) की जाँच करें

$(document).ready(function (e) { 


     $(".checkbox").live("click", function() { 

      if ($(this).hasAttribute('disabled')) { 
       return false; 
      } 
      var isAnyChecked; 

      $("input[type=checkbox]").each(function() { 
       var checkedValue = $(this).attr("checked"); 
       if (checkedValue == "checked") { 
        isAnyChecked = true; 
       } 


      }); 

      if (isAnyChecked) { 
       $("#<%= btnConfirm.ClientID %>").css("display", "block"); 

      } else { 
       $("#<%= btnConfirm.ClientID %>").css("display", "none"); 

      } 


     }); }); 

मैं .is(':disabled'), .hasAttr(), .prop() और .attr() कोशिश की है। किसी भी तरह की सहायता का स्वागत किया जाएगा।

+2

शुरुआत, '.live' बहिष्कृत है और के लिए बाहर बंद किया जाना चाहिए' – Chase

उत्तर

21

आपको यह जांचना है कि disabled विशेषता सत्य है: .attr('disabled')

या, बेहतर, का उपयोग .is(':disabled') .---


संपादित करें: तो ऐसा लगता है कि .attr अब इस प्रयोग के लिए हटा दिया गया है (देखें http://api.jquery.com/attr/) पसंदीदा तरीका है:

$('#myCheckbox').prop('disabled') 

यह ध्यान दिया जाना चाहिए कि यह अभी भी आज के रूप में काम करता है:

$('#myCheckbox').is(':disabled') 

इसे यहाँ का प्रयास करें: https://jsfiddle.net/Robloche/phaqfrmj/

+0

.on' मैं अपने जवाब का संपादन किया। – Rodolphe

+0

यह काम नहीं किया। आपकी रूचि के लिए धन्यवाद। । – user1595357

+1

नहीं, आप संपत्ति के लिए जाँच करने के लिए है:। '.prop ('अक्षम')' – Bergi

1

इसके अलावा, आप इस का उपयोग करने की कोशिश कर सकते हैं: अगर एक तत्व अक्षम किया गया है निर्धारित करने के लिए मेरे लिए

$("#myCheckBox").is('[disabled]'); 

वर्क्स, जबकि दूसरों समाधान (.disabled, .is(':disabled'), .attr('disabled'), .prop('disabled')) नहीं।