जोड़ा मैं एक jQuery datepicker समारोह "जन्मदिन" इनपुट एचटीएमएल तत्व के लिए बाध्य, पृष्ठ शीर्षक में लिखा है:jQuery datepicker एक AJAX पर काम नहीं करेगा HTML तत्व
<script type="text/javascript">
$(function() {
$("#birthday").datepicker();
});
</script>
इसके बाद, मैं कुछ AJAX है कार्यक्षमता - यह पृष्ठ पर नया इनपुट HTML तत्व जोड़ता है। यही कारण है कि तत्व है:
<input type="text" id="birthday" value="" class="detail-textbox1" />
कि जन्मदिन तत्व पर क्लिक करने से पॉप अप नहीं करता पाठ फ़ील्ड के नीचे दिनांक पिकर। मुझे इसकी उम्मीद थी, क्योंकि पेज लोड होने के बाद तत्व जोड़ा जाता है, इस प्रकार यह हेडर में दिए गए फ़ंक्शन के संबंध में नहीं है।
मैं इसे कैसे काम कर सकता हूं? मैंने स्क्रिप्ट को हेडर से शरीर में ले जाने की कोशिश की, लेकिन कुछ भी काम नहीं करता है। धन्यवाद।
पीएस यदि मैं पेज बॉडी में आईडी = "जन्मदिन" के साथ इनपुट एचटीएमएल तत्व बनाता हूं, तो प्रत्येक व्यक्ति अपेक्षित काम करता है। ऐसा प्रतीत होता है कि केवल AJAX के माध्यम से जोड़े गए तत्व निष्क्रिय हैं। http://api.jquery.com/live/
$('#birthday').bind('load', function() {
$(this).datepicker();
});
संपादित
.live() documentation राज्यों, कि यह थोड़ा पुराना हो चुका है:
धन्यवाद जेके। .live() का उपयोग करना समस्या हल करता है। आपके उदाहरण के बजाय, मैंने $ ('# जन्मदिन') का उपयोग किया। लाइव ('फोकस', फ़ंक्शन() {$ (यह) .डेटपिकर();}); – Boris
@ बोरीस .datepicker() फ़ंक्शन पिकर बनाता है, इसलिए आपको केवल इसे एक बार कॉल करने की आवश्यकता है। लेकिन यह वास्तव में बहुत अधिक चोट नहीं पहुंचाएगा मुझे लगता है कि यह हर बार ध्यान केंद्रित करने के लिए करता है (लेकिन यह इससे कम कुशल है)। –
अगर मैं 'फोकस' को 'लोड' में बदलता हूं तो यह बिल्कुल काम नहीं करता है। साथ ही, मैंने देखा है कि जब मैं डेटपिकर में टैब करता हूं और टैब आउट करता हूं (बिना किसी मूल्य का चयन किए), मेरी AJAX/php स्क्रिप्ट्स में से कोई भी काम नहीं करता है। ?!?! मैं क्या गलत कर रहा हूं? – Boris