繁体   English   中英

daterangepicker.js 选择当前日期

[英]daterangepicker.js selecting current date

有人熟悉 Visual Studio .net中的 daterangepicker.js 插件吗? 它实际上是一个非常好的插件,但有一个小缺陷我无法解决。 选择当前日期时,它不会识别它并且不会更改日期。 用户必须烦人地切换到其他日期,然后返回当前日期才能注册。

其他人遇到这种情况并有解决方法吗?

我的日期输入:

define(function (require) {
'use strict';
var vue = require('vue');

return vue.component('field-date-input', {
    template: '<input class="form-control" v-model.lazy="displayValue" type="text">',
    mixins: [VueFormGenerator.abstractField],
    mounted: function () {
        var self = this;
        $(this.$el).daterangepicker({ autoUpdateInput: false, singleDatePicker: true }, function (start, end) {
            self.displayValue = formatDate(start);
        });

        var startingValue = formatDate(this.displayValue);
        if (startingValue !== null) {
            this.displayValue = startingValue;
            $(this.$el).data('daterangepicker').setStartDate(startingValue);
        }
    },
    computed: {
        displayValue: {
            get: function () {
                return formatDate(this.value);
            },
            set: function (newValue) {

                $(this.$el).val(newValue);

                if (this.value !== null)
                    $(this.$el).data('daterangepicker').setStartDate(newValue);


                this.value = formatWebApiDate(newValue);
            }
        }
    }
});

这是由"autoUpdateInput": false,并记录在daterangepicker 的 github 中

来自开发人员(丹格罗斯曼):

您的回调 function 只会在做出新选择时触发。 由于当前日期是已经选择的日期,因此再次单击它不会触发您的代码。 您可以侦听 apply.daterangepicker 事件,而不是像“输入最初为空”一样

示例解决方案:

$('input[name="start_date"]').daterangepicker({ 
  "singleDatePicker": true,
  "showDropdowns": true,
  "autoUpdateInput": false,
  "autoApply": true
});

// HERE
$('input[name="start_date"]').on('apply.daterangepicker', function(ev, picker) {
  $(this).val(picker.startDate.format('YYYY-MM-DD'));
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM