मेरे आवेदन में गतिशील रूप से ड्रॉपडाउन जोड़ा गया है। उपयोगकर्ता को जितने की आवश्यकता हो उतने जोड़ सकते हैं।
मैं परंपरागत रूप से jQuery की live()विधि का उपयोग करके पता लगा रहा था कि इनमें से एक ड्रॉपडाउन कब था change():
$('select[name^="income_type_"]').live('change', function() {
alert($(this).val());
});
1.7 jQuery के रूप में, मैं इसे करने के लिए अद्यतन किया है:
$('select[name^="income_type_"]').on('change', function() {
alert($(this).val());
});
डॉक्स को देखते हुए, यह पूरी तरह से वैध होना चाहिए (दाएं?) - लेकिन ईवेंट हैंडलर कभी भी फायर नहीं करता है। बेशक, मैंने पुष्टि की है कि jQuery 1.7 लोड और चल रहा है, आदि। त्रुटि लॉग में कोई त्रुटि नहीं है।
मैं क्या गलत कर रहा हूं? धन्यवाद!
liveवास्तव मेंonवैसे भी उपयोग कर रहा है, इसलिए विरासत कोड की फिर से लिखने की अभी तक आवश्यकता नहीं होliveसकती है, जब तक कि मुझे नहीं लगता कि 1.9 है। 1.7.1 स्रोत से अंश:live: function( types, data, fn ) {jQuery( this.context ).on( types, this.selector, data, fn ); return this;}इसलिए यदि कोई ऐसे संस्करण में अपग्रेड नहीं हो रहा है जिसमेंliveअपडेट हो गया है तो लेगेसी कोड के लिए तुरंत आवश्यकता नहीं हो सकती है। के लिए नए पाठ्यक्रम का उपयोग कर बंद कोडon()के बजाय के रूप में सिफारिश की है। मुझे लगा कि यह जानकारी किसी और को किसी चरण में मदद कर सकती है।