2011-10-04 16 views
5

प्राप्त मैं इस तरह से चेकबॉक्स स्थिति को बदलने हूँ: $(this).attr("checked", 'checked');jQuery चेकबॉक्स स्थिति

इस मैं चेकबॉक्स स्थिति प्राप्त करना चाहते हैं के बाद, लेकिन मैं यह मिल गया:

$(this).attr('checked'): "checked" 
$(this).is(':checked'): false 

यह कैसे हो सकता है?

पीएस शायद मैं jQuery के माध्यम से सही ढंग से चेकबॉक्स स्थिति बदल नहीं रहा हूँ?

उत्तर

13

उपयुक्त तरीके गुण के बजाय बूलियन संपत्ति वापस करने के लिए उचित तरीका है (जो एक स्ट्रिंग है)।

का उपयोग करना .prop() आप भी सेट कर सकते हैं जाँच राज्य: $(this).prop('checked', true_or_false);

आप http://jsfiddle.net/ThiefMaster/QR2fL/ पर देख सकते हैं, .attr('checked') विशेषता के प्रारंभिक मान देता है - यह जब जाँच/चेकबॉक्स अनचेक नहीं बदला है।

4

आप इस तरह चेकबॉक्स को चेक नहीं किया जाना चाहिए:

$(this).attr("checked", 'checked'); 

लेकिन इस तरह

$(this).prop("checked", true); 

यह जांचने के लिए एक चेकबॉक्स चेक किया गया है आप का उपयोग कर सकते हैं:

$(this).prop('checked'); 

या

$(this).is(':checked'); 

जो एक बूलियन प्रोरटी

लौटाता है
संबंधित मुद्दे