【问题标题】:Datetimepicker - having troubles understanding the codeDatetimepicker - 无法理解代码
【发布时间】:2012-05-10 06:48:30
【问题描述】:

我正在审查我用于未完成项目的旧代码,我无法真正理解其中的一部分,你能帮我理解它吗?我正在使用来自 http://trentrichardson.com/examples/timepicker/ 的 datetimepicker,它支持 jQuery UI 日期选择器。这是代码(这是我不明白的onSelect事件代码):

    $(function() {
    var dates = $( "#from, #to" ).datetimepicker({
        changeMonth: true,
        onSelect: function( selectedDate ) {
            var option = this.id == "from" ? "minDate" : "maxDate",
                instance = $( this ).data( "datepicker" ),
                date = $.datepicker.parseDate(
                    instance.settings.dateFormat ||
                    $.datepicker._defaults.dateFormat,
                    selectedDate, instance.settings );
            dates.not( this ).datepicker( "option", option, date );
        },
        });
    });

【问题讨论】:

  • 我知道它的目的是阻止 from 字段使日期大于 ,,to'' 字段可用。虽然我正在使用 datetimepicker,当我在 ,,to" 字段中更改日期时间时,我的 from 字段显示为今天的日期(没有时间)

标签: jquery jquery-ui datepicker datetimepicker


【解决方案1】:

如果我没记错的话。有 2 个元素 #from and #to,如果用户在 #from 元素上选择日期值,则 jquery 函数会将所选值确定为 #to 元素的 minDate
如果用户为#to 选择日期值,则函数将确定#from 的maxDate 作为给定的选定日期。

综上所述,功能是通过选择另一个元素来确定元素的minDatemaxDate

var option = this.id == "from" ? "minDate" : "maxDate", //determine datepicker based on elemen selected
                instance = $( this ).data( "datepicker" ),
                date = $.datepicker.parseDate(
                    instance.settings.dateFormat ||
                    $.datepicker._defaults.dateFormat,
                    selectedDate, instance.settings );  // retrieve selected datepicker data 
            dates.not( this ).datepicker( "option", option, date );  //select another of this element then set minDate or maxDate of datepicker data into the element

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-05
    • 2011-12-18
    • 2017-11-13
    • 2018-02-21
    • 2015-08-22
    • 2016-01-16
    • 2020-10-23
    • 1970-01-01
    相关资源
    最近更新 更多