2011-09-05 15 views
9

मुझे चाहिए कि किसी दिए गए वर्ग में प्रत्येक टेक्स्ट इनपुट डेटपिकर है। कुछ की तरह:JQuery: प्रतिनिधि और डेटपिकर

$("input[type=text].time").datepicker(); 

लेकिन मैं Jquery.load के माध्यम से कोड का एक बहुत कुछ जोड़ रहा() तो मैं मैं एक प्रतिनिधि की जरूरत है विश्वास करते हैं। समस्या यह है कि मुझे नहीं पता कि यह कैसे करना है, क्योंकि जहां तक ​​मुझे पता है, एक प्रतिनिधि में भार घटना का उपयोग नहीं किया जा सकता है। यह आसान यदि वह मौजूद होगा:

$(document).delegate("input[type=text].time", "load", function(){ 
    $(this).datepicker(); 
}); 
+1

मैं एक प्रतिनिधि के लिए की जरूरत नहीं दिख रहा है .... कि सिर्फ पाठक confuses। –

+0

यदि आप AJAX के माध्यम से लोड करते हैं, जिसमें उस श्रेणी का एक नया इनपुट होता है ("समय"), प्रतिनिधि का उपयोग किए बिना यह डेटापिकर सक्रियण स्वचालित नहीं होता है। मैं बहुत सारे डेटा vqu jquery.load() लोड करता हूं और यह केवल डेटापिकर वर्ग नहीं है, इस तरह से अधिक कुछ है जो प्रत्येक पृष्ठ लोड पर हाथ से सेट करने की आवश्यकता है। – Ivan

+2

यदि आप सामग्री लोड कर रहे हैं, तो 'सफलता' पर डेटपिकर जोड़ें। मुझे जिस तरह से आप '.load() 'का उपयोग करना चाहते हैं, उसके लिए एक अच्छा विकल्प नहीं मिला है। –

उत्तर

16
$("body").delegate("input[type=text].time", "focusin", function(){ 
    $(this).datepicker(); 
}); 

मैं शरीर पर प्रतिनिधि इस्तेमाल किया क्योंकि मैं यदि आप अन्य कंटेनरों आपके द्वारा लक्षित करने में अपने कोड है पता नहीं है।

यहाँ एक बेला, जो किसी विशेष div प्रतिनिधि के साथ लक्षित करता है:

http://jsfiddle.net/MpqAy/

+0

तो प्रत्येक क्लिक पर, किसी भी वैध परिणाम में दिनांक पिकर जोड़ने का प्रयास करें? –

+0

यह वही नहीं है जो मैं बिल्कुल ढूंढ रहा था, लेकिन यह काम करता है .. मुझे नहीं पता कि जब आप कई बार डेटपिकर – Ivan

+0

@jk को फिर से शुरू करते हैं तो क्या होता है। इसे पोस्ट करने के लिए धन्यवाद। यह वही है जो मैं खोज रहा था और पूरी तरह से काम करता था - पहली बार। –

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