已解决 - UI DatePicker 未设置正确的 minDate 和 maxDate

问题描述 投票:0回答:1

可能这是一个老问题......但让我尝试一下。 我只是想使用 UI 组件更新一些旧的 WEB 页面,特别是我从未使用过的 Datepicker 小部件。 经过大量学习和多次尝试后,我能够“理解”一些东西,使用 2 个小部件创建一个简单的测试页面;我希望用户在从数据库获取的 2 个限制日期之间选择一个日期。

除了 minDate 和 maxdate 设置之外,一切看起来都很好。 使用 2 个字符串设置限制(格式设置为“dd/mm/yy”):

    var firstStr="01/09/24";
    var lastStr="30/09/24";

我得到了从 10 月 27 日到 11 月 25 日的跨度,与想要的日期有任何明显的关系。 这是我正在使用的压缩页面(我将 CSS 和 JS 包含在该页面内): <!DOCTYPE html> <html class="no-js" lang="it" > <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"/> <title>Stats</title> <link rel="stylesheet" href="css/jquery-ui.css"> <link rel="stylesheet" href="css/jquery-ui.theme.css"> <style> body{background:#444;} P.statP { display:inline-block; width:150px; color:#fff; border:1px solid #ff8; margin:0; text-align:center; } Input.statI { width:148px; text-align:center; } DIV.statDiv{ float:left; margin-left:10px; width:320px; border:1px solid #faa; } Label.statLbl { display:inline-block; width:150px; color:#f84; } </style> </head> <body> <div class="sfondoStat"> <div class="statDiv"> <label class="statLbl" for="datepickerFrom">&nbsp;Start at: </label> <input class="statI" type="text" id="datepickerFrom"> <p class="statP" id="date1"></p> <p class="statP">&nbsp;<span id="d1"></p> </div> <div class="statDiv"> <label class="statLbl" for="datepickerTo">&nbsp;End at: </label> <input class="statI" type="text" id="datepickerTo"> <p class="statP" id="date2"></p> <p class="statP">&nbsp;<span id="d2"></p> </div> </div> <!-- ======================== scripts ============================= --> <script src="js/jquery-2.2.4.min.js"></script> <script src="js/jquery-ui.js"></script> <script type="text/javascript"> var today=Date(); var format = "dd/mm/yy"; var firstStr="01/09/24"; var lastStr="30/09/24"; var startDate = ""; var endDate = ""; $(document).ready(function(){ $("#date1").text("min: "+firstStr); $("#date2").text("max: "+lastStr); $.datepicker.setDefaults({ dateFormat: format, changeMonth: true, changeYear: true, showOn: "focus", numberOfMonths: 1, minDate: firstStr, maxDate: lastStr, setDate: today }); $("#datepickerFrom").datepicker({ onSelect: function(startDate){ $("#d1").text(startDate), $("#datepickerTo").datepicker("option","minDate",startDate) } }); $("#datepickerTo").datepicker({ onSelect: function(endDate){ $("#d2").text(endDate) } }); }); </script> </body> </html>

我在这个问题上看到了几个类似的主题,但没有一个给我解决方案。
即使设置: minDate = new Date (firsString) - 和 maxDate 相同 - 也没有完成这项工作......这甚至是最糟糕的。

html jquery-ui-datepicker
1个回答
1
投票

var format = "dd/mm/y";

	
© www.soinside.com 2019 - 2024. All rights reserved.