2010-12-27 3 views
13

मेरे पास दो तिथियां हैं जो डीबी में संग्रहीत हैं और $ .ajax() का उपयोग करके इसे चुन रहा हूं और मुझे डीबी से चुनी गई तिथियों के बीच डेटपिकर मूल्य दिखाने के लिए क्या चाहिए।दो तारीख देकर एक jquery datepicker की दिनांक सीमा को कैसे प्रतिबंधित करें?

यहाँ मेरी कोड है.लेकिन यह ठीक से काम नहीं कर रहा है के लिए

function setDatePickerSettings(isFisc) { 
     var fSDate, fEDate; 
     $.ajax({ 
      type: "POST", 
      url: '../Asset/Handlers/AjaxGetData.ashx?fisc=1', 
      success: function(data) { 
       alert(data); 
       var res = data.split("--");//data will be 4/4/2010 12:00:00--5/4/2011 12:00:00 
       var sDate = res[0].split(getSeparator(res[0])); 
       alert("Separator " + getSeparator(res[1]) + " Starts " + sDate); 
       var eDate = res[1].split(getSeparator(res[1])); 
       alert("End " + eDate); 
       alert("sub " + sDate[0]); 
       fSDate = new Date(sDate[2].substring(0, 4), sDate[0], sDate[1]); 
       alert("Starts " + fSDate.substring(0, 4)); 
       fEDate = new Date(eDate[2].substring(0, 4), eDate[0], eDate[1]); 
       alert("eND " + fEDate.toString()); 

      } 

     }); 
      var dtSettings = { 
     changeMonth: true, 
     changeYear: true, 
     showOn: 'both', 
     buttonImage: clientURL + 'images/calendar.png', 
     buttonImageOnly: true, 
     showStatus: true, 
     showOtherMonths: false, 
     dateFormat: 'dd/mm/yy', 
     minDate:fSDate, //assigning startdate 
     maxDate:fEDate //assigning enddate 
    }; 

    return dtSettings; 
} 

Pls कुछ समाधान प्रदान करना है। मुझे डेटाटाइम पिकर की आवश्यकता है जिसके लिए उस सीमा के बीच मूल्यों की आवश्यकता है। अग्रिम धन्यवाद

+0

+1 उपयोगी प्रश्न के लिए! – gotqn

उत्तर

38

आपका वाक्यविन्यास minDate/maxDate के लिए गलत है। You can read the documentation on the jQuery UI website where the demo is। मेरा सुझाव है कि आप इसे अपने विशिष्ट मामले में तैयार करने के लिए इसे देखें।

$(".selector").datepicker({ minDate: new Date(2007, 1 - 1, 1) }); 

या

निम्नलिखित यह कर देगा, ताकि आप कुछ भी आज के लिए पिछले नहीं चुन सकते: यह इस तरह दिखता है।

$(".selector").datepicker({ minDate: 0 }); 

और यह कर देगा ताकि आप कल से पहले कुछ भी नहीं चुन सकते

$(".selector").datepicker({ maxDate: 1 }); 

संपादित करें: यहाँ कैसे आप अपनी स्वयं की तिथि डालें, लेकिन मैं एक मुद्दे पर DateFormat हो रही हो रही है सही तरीके से काम करें, जैसा कि आप देख सकते हैं कि मेरे पास तिथि है निर्दिष्ट प्रारूप, लेकिन वास्तव में जो प्रारूप मैंने डाला है वह डेटफॉर्मेट को अनदेखा कर रहा है।

$("#txtDateStart").datepicker({dateFormat:'mm/dd/yy', minDate: new Date(2010,11,12) }); 
+0

तो मैं 2004-2-1 के रूप में न्यूनतम और 2008-2-12 के रूप में अधिकतम कैसे दे सकता हूं? – kbvishnu

+1

@ हैरी, मैंने अपना जवाब अपडेट किया, क्या यह मदद करता है? –

0

मैं इस एक का उपयोग किया है और मैं output.thanks सभी

function setFiscDatePickerSettings() { 

     var fSDate, fEDate, sDate, fEDate; 
     var dtSettings; 
     sDate = document.getElementById("<%=hdfFiscStart.ClientID %>").value.split(getSeparator(document.getElementById("<%=hdfFiscStart.ClientID %>").value)); 
     eDate = document.getElementById("<%=hdfFiscEnd.ClientID %>").value.split(getSeparator(document.getElementById("<%=hdfFiscEnd.ClientID %>").value)); 
     fSDate = new Date(sDate[2].substring(0, 4), sDate[0] - 1, sDate[1]); 
     fEDate = new Date(eDate[2].substring(0, 4), eDate[0] - 1, eDate[1]); 
     dtSettings = { 
      changeMonth: true, 
      changeYear: true, 
      showOn: 'both', 
      buttonImage: clientURL + 'images/calendar.png', 
      buttonImageOnly: true, 
      showStatus: true, 
      showOtherMonths: false, 
      dateFormat: 'dd/mm/yy', 
      minDate: fSDate, maxDate: fEDate 
     }; 

     return dtSettings; 
    } 


    function bindFiscalDatePicker() { 
     var inputDt = $("input.datepicker_fisc"); 
     inputDt.addClass("numbers_only"); 
     inputDt.addClass("allow_special"); 
     inputDt.attr("symbolcodes", "/"); 
     inputDt.datepicker(setFiscDatePickerSettings()); 
    } 
1

यह मेरे लिए काम किया गया।

$('#date-time-picker').datepicker({ 
    format: 'YYYY-MM-DD', 
    useCurrent: false, 
    showClose: true, 
    minDate: '2018-02-01', 
    maxDate: '2018-03-15', 
})