DatePicker Bootstrap在回发后丢失了日期范围

时间:2014-02-13 10:53:14

标签: javascript jquery twitter-bootstrap datepicker

我的应用程序是ASP.NET MVC,我实现了bootstrap datepicker,如下所示:

$(window).load(function () {

        var startDate = new Date('01/01/2012');
        var FromEndDate = new Date();
        var ToEndDate = new Date();

$('#DataInicio').datepicker({
            format: "dd/mm/yyyy",
            todayBtn: "linked",
            startDate: '01/01/2012',
            language: "pt-BR",
            todayHighlight: true,
            endDate: FromEndDate,
            autoclose: true
        }).on('changeDate', function (selected) {
            startDate = new Date(selected.date.valueOf());
            startDate.setDate(startDate.getDate(new Date(selected.date.valueOf())));
            $('#DataFim').datepicker('setStartDate', startDate);
        });

$('#DataFim').datepicker({
            format: "dd/mm/yyyy",
            todayBtn: "linked",
            language: "pt-BR",
            todayHighlight: true,
            startDate: startDate,
            endDate: ToEndDate,
            autoclose: true
        }).on('changeDate', function (selected) {
            FromEndDate = new Date(selected.date.valueOf());
            FromEndDate.setDate(FromEndDate.getDate(new Date(selected.date.valueOf())));
            $('#DataInicio').datepicker('setEndDate', FromEndDate);
        });

第一次加载页面时,日期范围工作正常,但在postpack后,daterange丢失了配置,下面的图片是第一次和回发后:

enter image description here

enter image description here

防止选择日期开始大于结束日期的配置将丢失。

如何在回发后修复并保持选择范围?

由于

1 个答案:

答案 0 :(得分:1)

我使用此解决方案修复:

if ($('#DataInicio').val()) {
    startDate = $('#DataInicio').val();
   };

if ($('#DataFim').val()) {
    FromEndDate = $('#DataFim').val();
   };

回发后,维持日期范围。