2012-02-03 8 views
8
<li> 
<input type="checkbox" id="master" /> 
    <ul> 
    <li> 
    <input type="checkbox" /> 

$('input').bind('change', function() {}); // exists elsewhere, cannot change 

ट्रिगर जब मैं शीर्ष स्तर इनपुट क्लिक के बिना, मैं अपने बच्चों के सभी के लिए .prop('checked', true) सेट करना चाहते हैं, लेकिन मैं को प्रत्येक बच्चे चेकबॉक्स के लिए change घटना को ट्रिगर से बचने चाहते हैं।

change ट्रिगर किए बिना इनपुट में .prop('checked', true) कैसे सेट कर सकता हूं?

संपादित करें: (विस्तार करना) onchange श्रोता निकल करने के लिए

$('#master').click(function() { 
    $(this).parent().find('input').each(function(n, in) { 
     $(in).prop('checked', true); // this triggers a change event that I need to stop 
    }); 
}); 

उत्तर

19

जो आप वर्णन कर रहे हैं वह डिफ़ॉल्ट कार्यक्षमता है। जावास्क्रिप्ट से तत्व बदलना परिवर्तन घटना को आग नहीं करता है।

http://jsfiddle.net/8JsP4/

सूचना कैसे यदि आप उदाहरण में एक चेकबॉक्स पर क्लिक करें, आपको एक अलर्ट मिलता है, लेकिन आप बटन, कोई चेतावनी क्लिक करते हैं।

+0

मैं अपने लक्षण पुनः बनाने लगता है, तो आप अभी भी एक अलग बटन – tester

+1

नहीं एक समस्या http://jsfiddle.net/8JsP4 के बजाय निचले स्तर बक्से के सभी की जाँच करने के लिए एक ऊपरी स्तर चेकबॉक्स का उपयोग करना होगा/1/शायद आप इस समस्या को मेरे पहेली में पुन: उत्पन्न कर सकते हैं? –

+0

रुको, बस अपना संपादन देखें, आपका कोड कुछ भी नहीं करेगा। '$ (यह)। ढूँढें (... 'कुछ भी वापस नहीं करेगा क्योंकि यह एक इनपुट है जिसमें ** ** कुछ भी नहीं है। क्या आपका एचटीएमएल वास्तव में आपके द्वारा पोस्ट किए गए कार्यों से अलग है? –

0

कोशिश, तो बाँध इसे फिर से एक बार संपत्ति निर्धारित किया गया है।

1

अभी आपका चयनकर्ता सभी input तत्वों को लक्षित करता है। आप अपना मुख्य चेकबॉक्स एक आईडी दे सकते हैं, और अन्य एक आम वर्ग दे सकते हैं।

<li> 
<input id="main-chk"type="checkbox" /> 
    <ul> 
    <li> 
    <input class="children" type="checkbox" /> 

    $('li:first').bind('change', function() { 
     $(this).find('li').prop('checked', 'checked'); 
    }); // exists elsewhere, cannot change 
+0

मुझे इसे आईडी/कक्षाओं के बिना करने की आवश्यकता होगी। केवल उल/ली/इनपुट पदानुक्रम – tester

+0

पर आधारित मेरा उत्तर अपडेट किया गया। – Jack

संबंधित मुद्दे