如何通过给出两个日期来限制jquery日期选择器的日期范围?

kbv*_*hnu 17 jquery jquery-ui jquery-ui-datepicker

我有两个日期存储在db中并使用$ .ajax()选择它,我需要的是显示我从db中选择的日期之间的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;
}
Run Code Online (Sandbox Code Playgroud)

请提供一些解决方案.我需要日期时间选择器,它需要该范围之间的值.提前致谢

The*_*Man 41

你的语法对于minDate/maxDate是错误的.您可以在演示所在的jQuery UI网站上阅读文档.我建议你看看它,以适应你的具体情况.它看起来像这样:

$( ".selector" ).datepicker({ minDate: new Date(2007, 1 - 1, 1) });
Run Code Online (Sandbox Code Playgroud)

要么

以下内容将使您无法选择今天之前的任何内容.

$( ".selector" ).datepicker({ minDate: 0 });
Run Code Online (Sandbox Code Playgroud)

这将使你在明天之前不能选择任何东西

$( ".selector" ).datepicker({ maxDate: 1 });
Run Code Online (Sandbox Code Playgroud)

编辑:这是你如何插入自己的日期,但我有一个问题,让dateFormat正常工作,因为你可以看到我指定了dateFormat,但我实际放入的格式是忽略dateformat.

$("#txtDateStart").datepicker({dateFormat:'mm/dd/yy', minDate: new Date(2010,11,12) });
Run Code Online (Sandbox Code Playgroud)

  • 我通过将日期格式设置为选项集中的最后一项解决了这个问题,例如 {dateFormat: "dd/mm/yy"}) - 完整的解决方案在我下面的答案中。 (2认同)