2010-12-22 20 views
9

मेरे पास एक एप्लिकेशन फॉर्म पर डेटपिकर है। हम केवल उन अनुप्रयोगों को अनुमति देते हैं जहां जन्म तिथि एक निश्चित आयु सीमा के भीतर होती है। मैंने चेंजवाययर को सक्षम किया और वर्षगांठ को "-65: -16" पर सेट किया। मेरी समस्याएं निम्नानुसार हैं:jQueryUI DatePicker YearRange और ChangeYear समस्याओं

1 - जब मैं वर्ष ड्रॉपडाउन में कुछ चुनने के बिना कोई तारीख चुनता हूं, तो मुझे सही महीना और दिन मिलता है, लेकिन मुझे 2016 में एक वर्ष मिलता है।

2 - इसे ठीक करने का प्रयास करने से मैंने वर्ष सीमा को "n-65: n-16" पर सेट किया है। इससे सालाना गिरावट केवल चालू वर्ष (2010) को प्रदर्शित करने का कारण बनती है।

<script type="text/javascript"> 
    $(document).ready(function (e) { 
     Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler); 

     function EndRequestHandler(sender, args) { 
      $(function() { 
       $("#DateOfBirth").datepicker({ yearRange: '-65:-13', changeMonth: true, changeYear: true, defaultDate: '1-1-1994', dateFormat: 'mm-dd-yy' }) 
      }); 
     } 

     $(function() { 
      $("#DateOfBirth").datepicker({ yearRange: '-65:-13', changeMonth: true, changeYear: true, defaultDate: '1-1-1994', dateFormat: 'mm-dd-yy' }) 
     }); 
    }); 
</script> 

मैं इस आशा करता हूं: यहां तक ​​कि weirder कि यदि आप एक तिथि का चयन करें, आप अभी भी सही माह और दिन मिलता है, और साल 2016

यहाँ कोड मैं सेटअप करने के लिए datepicker का उपयोग कर रहा है कुछ ऐसा है जो मैंने गलत किया है, और कोई मुझे बता सकता है कि वह क्या है। किसी भी मदद के लिए धन्यवाद।

+0

jQuery और jQuery यूआई किस संस्करण का उपयोग कर रहे हैं? –

+0

मैं 1.4.4 और 1.8.7 का उपयोग कर रहा हूं, मैंने पहले के संस्करणों को उसी परिणाम के साथ भी आजमाया है। – CoreyT

उत्तर

18

'सी' की तरह चालू वर्ष के लिए उपयोग करके देखें: अधिक के लिए

$('.datepicker').datepicker({changeYear: true, yearRange : 'c-65:c+10'}); 

सूचना दृश्य http://api.jqueryui.com/datepicker/#option-yearRange

+0

मैंने उपरोक्त कोड की कोशिश की है लेकिन मेरे मामले में यह काम नहीं करता है। पहले से जोड़े गए दिनांक के लिए एक दिनांक फ़ील्ड एम/डी/वाई पूर्व: 01/01/xxxx के रूप में पहले से तैयार है। – sangam

1

अपनी डिफ़ॉल्ट दिनांक सेटिंग जांचें। मैं केवल तभी देख सकता हूं जब आप निर्दिष्ट वर्ष सीमा (यानी '1-1-2016') के बाहर किसी भी चीज़ को डिफ़ॉल्ट तिथि बदलते हैं।) आपके द्वारा पोस्ट किए गए कोड में बाकी सब कुछ मेरे लिए काम करता है।

1

इस पर भी ठोकर खाई। मैंने इसे और अधिक शोध नहीं किया, लेकिन कॉल ऑर्डर एक फर्क पड़ता है।

इस काम करता है:

$('DIV#startdate').datepicker('option', { dateFormat: 'yy-mm-dd' }); 
$('DIV#startdate').datepicker('setDate', '10-09-11'); 
$('DIV#startdate').datepicker('option', { changeYear: true }); 

यह केवल 2010 साल लिस्टबॉक्स पता चलता है:

$('DIV#startdate').datepicker('option', { dateFormat: 'yy-mm-dd' }); 
$('DIV#startdate').datepicker('option', { changeYear: true }); 
$('DIV#startdate').datepicker('setDate', '10-09-11'); 
1

वास्तविक वर्ष मूल्यों के साथ सीमा देने का प्रयास करें। जैसे

$('.datepicker').datepicker({changeYear: true, yearRange : '1990:2010'}) 

उन्हें किसी भी डेटफॉर्मेट के साथ भी काम करना चाहिए।

1

तरह maxDate और minDate विकल्प का उपयोग करने का प्रयास करें:

$(document).ready(function() { 
    $("#datepicker").datepicker({ 
     yearRange: '-65:-13', 
     changeMonth: true, 
     changeYear: true, 
     defultDate: '1-1-1994', 
     dateFormat: 'mm-dd-yy', 
     minDate:"-65Y", 
     maxDate:"-13Y" 
    }); 
}); 
+0

यह मेरे लिए काम किया! –

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