gpt4 book ai didi

javascript - 如何伪造 jquery-ui-datepicker 的当前日期

转载 作者:行者123 更新时间:2023-11-29 11:02:40 26 4
gpt4 key购买 nike

我正在实现一个自定义算法来根据一组规则禁用日期,这些规则也取决于当前日期。为了测试我需要将当前日期设置为特定日期。

我找到了这个 thread只是覆盖javascripts Date函数。我的问题是,如果我这样做,日历将不再按预期工作。大多数时候所有的日子都不见了,有时所有的日子都被禁用了。

var oldDate = Date;
Date = function (fake)
{
if( ! fake ) return new oldDate('02/26/2017');

return new oldDate(fake);
}
Date.prototype = oldDate.prototype;

如何使用自定义当前日期测试日期选择器?它应该像设置一个 jsfiddle 一样简单(如果可能的话): My current Fiddle

最佳答案

我不太确定你需要做什么,我通常会更改操作系统时间,无论如何,简单明了:

  
// DEMO mock date js browser
// comment uncoment to play arround, if you need to automate with or without mock date plain an simple:
mockDateTime('2018/02/02'); // with mock
// mockDateTime() // no mock


$('#date1').datepicker({
changeMonth: true,
changeYear: true,
showButtonPanel: true,
dateFormat: "m/d/yy"
});

function mockDateTime(mockDate){
// to do: validate mock date
if (mockDate !== undefined && mockDate.length > 0)
{
var __Date = Date;
Date = undefined;
Date = function()
{
// to do: more deep checks on arguments
if (arguments.length > 0)
{
return new __Date(arguments[0], arguments[1], arguments[2]);
}
return new __Date(mockDate);
};
Date.prototype = __Date.prototype;
}
}
#ui-datepicker-div { font-size: 12px; } 
 <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script>
<link rel="stylesheet" type="text/css" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/smoothness/jquery-ui.css">


Date Picker on input field: <input type="text" id="date1" name="date1"/> <br/>

关于javascript - 如何伪造 jquery-ui-datepicker 的当前日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44343729/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com