【问题标题】:Kevin Luck's jQuery Date Picker plugin - Set the end date dynamicallyKevin Luck 的 jQuery Date Picker 插件 - 动态设置结束日期
【发布时间】:2009-08-27 05:50:09
【问题描述】:

我正在使用 Kevin Luck 的 jquery 日期选择器插件,我想知道将 dpSetEndDate() 值格式化为未来一年的最佳方法是什么?我尝试使用 php:

<?php echo date('Y')+1;?>-<?php echo date('m-d');?>

但这没有用。 php 本身会返回我想要代替日期的内容,但它不会在 javascript 中呈现。

$('.date-picker').dpSetEndDate('01/01/2010');

作为参考,他的网站在这里: http://www.kelvinluck.com/assets/jquery/datePicker/v2/demo/index.html

【问题讨论】:

    标签: php javascript jquery datepicker


    【解决方案1】:

    我正在使用相同的插件,并且试图实现相同的目标。我所做的是使用一点 php 并添加

    endDate:'<?=date('d/m/Y', strtotime("+2 Years"))?>'
    

    在脚本声明上,一切正常

    【讨论】:

    • 这仅在您将服务器设置为将 .js 文件解析为 php 或脚本是内联块时才有效。
    【解决方案2】:
        var today = (new Date),
            nextYear = today.getFullYear()+1,
            yearAhead = new Date( today.setYear( nextYear ) )
    
    /*
        yearAhead.getDate() // 27
        yearAhead.getMonth()+1 // 7
        yearAhead.getFullYear() // 2010
    
    */
    
        dpSetEndDate( yearAhead.getMonth()+1 + '/' + yearAhead.getDate() + '/' + yearAhead.getFullYear() );
    

    希望我正确地完成了月份部分..

    【讨论】:

    • ...如果你在 2 月 29 日运行这个?
    • 如果您在 29 日(闰年)运行,它将提前计算下一年,因此最初的 2010 年 2 月 29 日将导致 yearAhead 日期对象为 3 月 1 日。
    【解决方案3】:

    您已经有了答案,这是一个老问题,但仅供参考,这是推荐的方法:

    $('.selector').datePicker(
        {
            endDate: (new Date()).addYears(1).asString()
        }
    );
    

    在 date.js 中的 Date 对象中添加了许多有用的方法,您可以在初始化 datePicker 时使用这些方法轻松地将值传递给它。 Date.asString 将始终将日期格式化为当前 Date.format 中的字符串,这是设置对象所期望的格式...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多