Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在jQuery datpicker中将服务器日期设置为当前日期_Jquery_Jquery Ui_Jquery Plugins_Jquery Ui Datepicker - Fatal编程技术网

如何在jQuery datpicker中将服务器日期设置为当前日期

如何在jQuery datpicker中将服务器日期设置为当前日期,jquery,jquery-ui,jquery-plugins,jquery-ui-datepicker,Jquery,Jquery Ui,Jquery Plugins,Jquery Ui Datepicker,我使用jQuery插件datepicker,我不希望用户能够在他的客户机上更改今天的日期。所以我想知道如何将今天的日期(而不是选定的日期!)设置为我的服务器日期。下面的代码,即仅设置默认的“选定”日期值 defaultDate: myServerDate ……我也试过: myDatepicker.datepicker('setDate', myServerDate); 两次尝试都会在默认情况下选择这些日期。但这些都没有真正改变今天的日期 干杯,sash从外观上看,如果不破解jquery.ui

我使用jQuery插件datepicker,我不希望用户能够在他的客户机上更改今天的日期。所以我想知道如何将今天的日期(而不是选定的日期!)设置为我的服务器日期。下面的代码,即仅设置默认的“选定”日期值

defaultDate: myServerDate
……我也试过:

myDatepicker.datepicker('setDate', myServerDate);
两次尝试都会在默认情况下选择这些日期。但这些都没有真正改变今天的日期


干杯,sash

从外观上看,如果不破解jquery.ui.datepicker.js这是不可能的。以下是该文件的非精简版本摘录:

/* Generate the HTML for the current state of the date picker. */
_generateHTML: function(inst) {
  var today = new Date();
  today = this._daylightSavingAdjust(
    new Date(today.getFullYear(), today.getMonth(), today.getDate())); // clear time
从上面的
可以看出,今天的
是直接从JavaScript的Date对象计算出来的,因此无法在中传递该值。。。我猜主要是因为改变今天的要求很奇怪

对此有四个解决方案,其中三个不是很好,我将它们按顺序排列,1个是最好的,4个是最差/最复杂的:

  • 您可以亲自参与并实施/报告
    setToday
    的功能-

  • 您可以将_generateHTML函数复制到自己的代码中,并使用Rodrigouto所述的方法对其进行扩展:

  • 您可以通过修改
    jquery.ui.datepicker.js
    来定义一个日期来代替代码
    var today=new date()。您应该在应用程序中的任何注释中清楚地记录此覆盖,以便在升级到下一版本的jQuery UI时警告您自己(和其他开发人员)

  • 您可以构建一个js hack,与datepicker插件一起运行,并在每次显示日历时重写其输出。i、 e.检测
    $('.ui datepicker today')
    并删除该类,然后通过单步执行同级并检查数据属性来重新计算其应放置的位置。。。这是最糟糕的方法,因为它不会影响datepicker的任何内部计算,而且完成起来很复杂


  • 谢谢你的回答。我认为_generateHTML函数只负责在日历中显示所选的今天日期。但是我还有一个时间范围(上周和下周),它仍然指的是在我用一个特殊的日期值更改了_generateHTML函数后的客户机日期。hmmm。啊,好吧,我想在你能够改变它之前,它必须作为插件中的一个功能来实现。烦人的:/myServerDate
    的服务器值是多少?(举例)它是一个类似“20.09.2012”的字符串。(我的日期格式设置为“dd.mm.yy”)