2010-12-27 22 views
13

Tengo dos fechas que se almacenan en db y las estoy seleccionando usando $ .ajax() y lo que necesito es mostrar los valores de datepicker entre las fechas que seleccioné de db.¿Cómo restringir el intervalo de fechas de un jquery datepicker dando dos fechas?

Aquí está mi código para it.But no funciona correctamente

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 proporciona alguna solución. Necesito el selector de fecha y hora que requiere valores entre ese rango. Gracias de antemano

+0

+1 Para la pregunta útil! – gotqn

Respuesta

38

Su sintaxis es incorrecta para el minDate/maxDate. You can read the documentation on the jQuery UI website where the demo is. Le sugiero que lo revise para adaptarlo a su caso específico. Se ve algo como esto:

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

o

A continuación se hará de manera que no se puede recoger todo lo anterior a hoy.

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

y esto lo hará de manera que no se puede comprar alguna cosa antes de mañana

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

Editar: Aquí es cómo insertar su propia fecha, pero estoy teniendo un problema para conseguir la dateFormat a funcionan correctamente, como puede ver, tengo el formato de fecha especificado, pero el formato que en realidad pongo es ignorar el formato de fecha.

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

¿Cómo puedo dar min como 2004-4-1 y máximo como 2008-2-12? – kbvishnu

+1

@Harie, actualicé mi respuesta, ¿esto ayuda? –

0

que utilizan éste y me dio la output.thanks todo

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

Esto funcionó para mí.

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