चूंकि ओपी को अन्य चेकबॉक्स id=全選
के आधार पर सभी चेकबॉक्स अनचेक करने की आवश्यकता होती है।
समाधान जो @ j08691 ऊपर प्रदान किया गया है वह अच्छा है लेकिन इसमें एक चीज़ की कमी है और यही है, समाधान id=全選
चेकबॉक्स को अनचेक नहीं करता है जब सूची में कोई अन्य चेकबॉक्स अनचेक हो जाता है।
तो मैं id=全選
चेकबॉक्स के आधार पर सभी चेकबॉक्सों को चेक/अनचेक करता हूं और यदि कोई अन्य चेकबॉक्स अनचेक किया गया है तो चेकबॉक्स id=全選
अनचेक हो जाता है। और यदि उपयोगकर्ता मैन्युअल रूप से अन्य सभी चेक बॉक्स पर क्लिक करता है तो रिश्ते को दर्शाने के लिए बॉक्स id=全選
को भी चेक किया जाना चाहिए।
ओपी एक ही आईडी का उपयोग एकाधिक चेकबॉक्स के लिए करता है जो डीओएम के नियमों के खिलाफ है। Element IDs should be unique within the entire document.
तो निम्न कोड परिदृश्य के इस प्रकार के सभी पहलुओं को शामिल किया गया।
एचटीएमएल
<table>
<tr>
<td>
<input type="checkbox" name="checkAll" id="checkAll">全選 (ALL)
<input type="checkbox" name="book" id="book_1" value="book1">book1
<input type="checkbox" name="book" id="book_2" value="book2">book2
<input type="checkbox" name="book" id="book_3" value="book3">book3
<input type="checkbox" name="book" id="book_4" value="book4">book4
<input type="checkbox" name="book" id="book_5" value="book5">book5
</td>
</tr>
</table>
JQuery
$(document).ready(function() {
$('#checkAll').click(function() {
$('input:checkbox').not(this).prop('checked', this.checked);
});
$("[id*=book_]").change(function() {
if ($('input[id*=book_][type=checkbox]:checked').length == $('input[id*=book_][type=checkbox]').length) {
$('#checkAll').prop('checked', true);
} else {
$('#checkAll').prop('checked', false);
}
});
});
विशेषता चयनकर्ता [नाम * = "मूल्य"]
तत्व के साथ निर्दिष्ट विशेषता का चयन करता है का विवरण एक मूल्य युक्त एक मूल्य ubstring।
तो $('#checkAll')
मुझे केवल मूल चेकबॉक्स देता है, जिस पर मैं सभी चेकबॉक्स चेक/अनचेक करता हूं।
और $('[id$=book_]')
माता-पिता (全 選) चेकबॉक्स को छोड़कर मुझे सभी चेकबॉक्स लौटाता है। फिर अभिभावक चेकबॉक्स के आधार पर मैं अन्य सभी चेकबॉक्स को चेक/अनचेक करता हूं।
मैं भी तो दूसरे माता पिता चेक बॉक्स की लंबाई (全 選) चेकबॉक्स, जाँच करता है अन्य सभी चेक बॉक्स फिर जांच रहे हैं, तो मैं माता-पिता (全 選) चेकबॉक्स को चेक। तो यह सभी संभावित स्थिति की जांच करने का तरीका है और किसी भी परिदृश्य को कभी याद नहीं करता है।
Demo working JSFiddle here.
चयनकर्ताओं के आधार पर यह है कि आप ही ID कई बार उपयोग कर रहे हैं, जो कि नहीं-नहीं लगता है !! – adeneo
भी उसकी तालिका में कोई पंक्ति या कॉलम नहीं है ... –
जबकि कक्षाएं और नाम डुप्लीकेट हो सकते हैं, आईडी हमेशा अद्वितीय होनी चाहिए। यह जेएस को अद्वितीय तत्वों की पहचान करने में सक्षम बनाता है और आपको डोम में हेरफेर करने के लिए अधिक नियंत्रण देता है। यदि आप एक ही आईडी नाम का कई बार उपयोग करते हैं, तो आप आईडी द्वारा तत्व प्राप्त करने का प्रयास करते समय अप्रत्याशित परिणाम प्राप्त करेंगे क्योंकि केवल एक तत्व लौटाया जाएगा। – thefid