2010-12-27 3 views
13

Ich habe zwei Daten, die in db gespeichert wird und wähle es mit $ .ajax() aus und was ich brauche, ist die Anzeige der Datepicker-Werte zwischen den Daten, die ich aus db ausgewählt habe.Wie schränkt man den Datumsbereich eines jquery Datepickers ein, indem man zwei Daten gibt?

Hier ist mein Code für it.But es nicht richtig funktioniert

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 eine Lösung bieten. Ich brauche den Datetime-Picker, der Werte zwischen diesem Bereich benötigt. Vielen Dank im Voraus

+0

+1 Für die nützliche Frage! – gotqn

Antwort

38

Ihre Syntax ist falsch für das minDate/maxDate. You can read the documentation on the jQuery UI website where the demo is. Ich schlage vor, Sie betrachten es, um es auf Ihren speziellen Fall zuzuschneiden. Es sieht etwa so aus:

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

oder

Folgendes wird es machen, so dass Sie nichts vorherigen heute holen können.

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

und dies wird es machen, so dass Sie nichts, bevor morgen

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

Bearbeiten auswählen können: Hier ist, wie Sie Ihr eigenes Datum einfügen, aber ich bin ein Problem mit immer das Datumsformat zu funktionieren richtig, wie Sie sehen können Ich habe das DateFormat angegeben, aber das Format, das ich tatsächlich einfüge, ignoriert das Dateformat.

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

dann Wie kann ich geben min als 2004-4-1 und max als 2008-2-12? – kbvishnu

+1

@Harie, habe ich meine Antwort aktualisiert, hilft das? –

0

verwendet ich dieses und ich bekam die output.thanks alle

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

Das ist für mich gearbeitet.

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