2012-12-14 24 views
5

मेरे पास एक jquery date picker फ़ील्ड है जो उपयोगकर्ता क्लोनिंग कर रहा है जब कोई उपयोगकर्ता Add बटन पर क्लिक करता है। मैं चाहता हूं कि स्क्रीन पिकर स्क्रीन पर बाद में जोड़े गए फ़ील्ड के लिए दिखाई दे। अभी डेटपिकर केवल पहले फ़ील्ड और not for the added/cloned fields के लिए दिखाई दे रहा है।jquery datepicker क्लोन तत्वों के लिए काम नहीं कर रहा है

इसी तरह के विषय पर बहुत सी पोस्ट की जांच करने के बाद, मैं इस चरण तक पहुंचने में सक्षम था। नीचे मेरा कोड नीचे है।

<div class="repeatingSection"> 
<a href="#" class="deleteDate" style="display: none;">-Delete</a> 
<input type="text" class="dateListValues" style="position: relative; z-index:100000;" 
     id="dateListValues_1" size="15" /> 
</div> 
<a href="#" class="addDate">+ Add</a> 

जे एस:

// Add a new repeating section 
$('.addDate').click(function(){ 
    var currentCount = $('.repeatingSection').length; 
    var newCount = currentCount+1; 
    var newID; 
    var lastRepeatingGroup = $('.repeatingSection').last(); 
    var newSection = lastRepeatingGroup.clone(); 
    newSection.insertAfter(lastRepeatingGroup); 
    newSection.find("input").each(function (index, input) { 
     input.id = input.id.replace("_" + currentCount, "_" + newCount); 
     input.name = input.name.replace("_" + currentCount, "_" + newCount); 
     input.value = ""; 
      //removing the additional hasDatepicker class 
     $('#'+input.id).removeClass('hasDatepicker'); 
    }); 

    return false; 
}); 

    $('.dateListValues').each(function(){ 
    $(this).datepicker(); 
    }); 

धन्यवाद।

+0

आप hasDatepicker वर्ग क्यों निकाल रहे हैं: सही अपने return false; से पहले इस लाइन जोड़ने का प्रयास करें? –

+0

ठीक पहले मैं इसे हटा नहीं रहा था। लेकिन इसे यहां पढ़ें http://stackoverflow.com/questions/5788999/jquery-datepicker-on-cloned-elements .. तो यह भी करने की कोशिश की कि – DarkKnightFan

उत्तर

4

आपको नव निर्मित तत्व पर datepicker प्लगइन प्रारंभ करने की आवश्यकता है। .. क्लिक समारोह के अंदर

newSection.find(".dateListValues").datepicker(); 
+0

उत्कृष्ट !! यह काम किया ... बहुत बहुत धन्यवाद .. – DarkKnightFan

+0

को 2 और मिनट के लिए इंतजार करना होगा: पी – DarkKnightFan

+0

@ डार्ककेनाफ़ान धन्यवाद: डी –

1

initailize दिनांक पिकर

$('.addDate').click(function(){ 
var currentCount = $('.repeatingSection').length; 
var newCount = currentCount+1; 
var newID; 
var lastRepeatingGroup = $('.repeatingSection').last(); 
var newSection = lastRepeatingGroup.clone(); 
newSection.insertAfter(lastRepeatingGroup); 
newSection.find("input").each(function (index, input) { 
    input.id = input.id.replace("_" + currentCount, "_" + newCount); 
    input.name = input.name.replace("_" + currentCount, "_" + newCount); 
    input.value = ""; 
     //removing the additional hasDatepicker class 
    $('#'+input.id).removeClass('hasDatepicker'); 

}); 
    newSection.find(".dateListValues").datepicker(); //here 
    return false; 
}); 
+0

आपको प्रत्येक कोड में अपना कोड नहीं रखना चाहिए –

+0

हाँ .. सही .. धन्यवाद ..:) .. संपादित .. वैसे भी मुझे लगता है कि ओपी को जवाब मिला .. :) – bipen

+0

धन्यवाद @bipen वैसे भी! :) – DarkKnightFan