2010-01-07 16 views
24

का उपयोग कर एक दिन में एक दिन को कैसे जोड़ना है मेरे पास पिकअप तिथि के लिए 2 टेक्स्टबॉक्स हैं और jquery date picker का उपयोग करके दोनों को छोड़ दें।jquery datepicker

मुझे चयनित पिकअप तिथि से एक दिन पहले ड्रॉप ऑफ डेट मान सेट करने में समस्या हो रही है।

$('.pickupDate').change(function() { 
    var date2 = $('.pickupDate').datepicker('getDate', '+1d'); 
    $('.dropoffDate').datepicker('setDate', date2); 
}); 

ऊपर निष्पादित करेगा, लेकिन पाठ बॉक्स बंद ड्रॉप में मूल्य के बजाय एक दिन आगे होने का पिक मूल्य मिलान हो जाएगा:

यहाँ मैं क्या है। उदाहरण: यदि मैं 01-01-2010 का चयन करता हूं तो उपरोक्त कोड 01-01-2010 को 02-01-2010 के बजाय ड्रॉप ऑफ बॉक्स में 01-01-2010 लौटाता है।

कोई विचार?

आपकी मदद के लिए धन्यवाद, रिच

उत्तर

63

इस प्रयास करें:

$('.pickupDate').change(function() { 
    var date2 = $('.pickupDate').datepicker('getDate', '+1d'); 
    date2.setDate(date2.getDate()+1); 
    $('.dropoffDate').datepicker('setDate', date2); 
}); 
+0

कि के लिए धन्यवाद। एक इलाज किया :) –

+3

उपर्युक्त मेरे लिए भी काम करता है। लेकिन लाइन 2 में "+ 1 डी" भाग क्यों? मैंने दूसरी पंक्ति से "+ 1 डी" हटा दिया और यह भी काम करता है। – thd

+0

महान समाधान, जावास्क्रिप्ट में वृद्धि तिथि बढ़ाने के 10 अन्य तरीकों की कोशिश की और कोई भी काम नहीं किया। लाइन 2 में – mircea

4

datepicker ('setDate') इनपुट में नहीं datepicket में तारीख तय करता है।

आपको तिथि जोड़नी चाहिए और इसे इनपुट में सेट करना चाहिए।

var date2 = $('.pickupDate').datepicker('getDate'); 
var nextDayDate = new Date(); 
nextDayDate.setDate(date2.getDate() + 1); 
$('input').val(nextDayDate); 
+1

मेरे पास पहले था लेकिन जब मैंने इसका इस्तेमाल किया तो यह केवल '17 जनवरी -01-2010' के बजाय 'सन जनवरी 17 2010 00:00:00 जीएमटी +0000 (जीएमटी मानक समय)' जैसे आउटपुट, भले ही मैंने डेटफॉर्मैट विकल्प निर्दिष्ट किया हो। बहुत अजीब। फ़िर भी सहायता के लिए धन्यवाद। –

7

इस उत्तर वास्तव में मुझे आरंभ (noob) मदद की - लेकिन जब मैं 2014/12/31 की आरंभ तिथि निर्धारित और समाप्ति तिथि डिफ़ॉल्ट +1 जोड़ मैं कुछ अजीब व्यवहार का सामना करना पड़ा। मुझे 01/01/2015 की समाप्ति तिथि देने के बजाय मुझे 02/01/2015 (!!!) मिल रहा था। यह संस्करण साल की विषमता के अंत से बचने के लिए प्रारंभ तिथि के घटकों को पार करता है।


$("#date_start").datepicker({ 

    minDate: 0, 
    dateFormat: "mm/dd/yy", 

    onSelect: function(selected) { 
     $("#date_end").datepicker("option","minDate", selected); // mindate on the End datepicker cannot be less than start date already selected. 
     var date = $(this).datepicker('getDate'); 
     var tempStartDate = new Date(date); 
     var default_end = new Date(tempStartDate.getFullYear(), tempStartDate.getMonth(), tempStartDate.getDate()+1); //this parses date to overcome new year date weirdness 
     $('#date_end').datepicker('setDate', default_end); // Set as default       
    } 

}); 

$("#date_end").datepicker({ 

    minDate: 0, 
    dateFormat: "mm/dd/yy", 

    onSelect: function(selected) { 
    $("#date_start").datepicker("option","maxDate", selected); // maxdate on the Start datepicker cannot be more than end date selected. 

    } 

}); 
+0

यह उत्तर मेरे लिए काम किया। स्वीकृत उत्तर काम नहीं किया। मान लीजिए कि यह डेटपिकर के किस संस्करण पर निर्भर करता है? वैसे भी, इसके लिए धन्यवाद! –