【问题标题】:uib-datepicker-popup Not showing picker in firefox or safariuib-datepicker-popup 在 Firefox 或 safari 中不显示选择器
【发布时间】:2016-03-07 08:49:26
【问题描述】:

我一直在使用 Ui angular bootstrap datepicker,它运行良好......在 chrome 中。

事实证明,Firefox 和 safari 不会显示日期选择器。以前任何人都遇到过这种情况。

我的 HTML 看起来像这样

 <p class="input-group">
       <input type="date" class="form-control" datepicker-popup ng-model="startDate" is-open="status.opened" min-date="minDate" max-date="maxDate" datepicker-options="dateOptions" date-disabled="disabled(date, mode)" close-text="Close" />
 </p>

我的 JS/Controller 看起来像这样

   $scope.today = function () {
        $scope.startDate = new Date();
        $scope.startDate.setMonth($scope.startDate.getMonth() - 1);
        $scope.endDate = new Date();
        $scope.endDate.setMonth($scope.endDate.getMonth() + 1);
    };
    $scope.today();

    $scope.clear = function () {
        $scope.dt = null;
    };

    // Disable weekend selection
    $scope.disabled = function (date, mode) {
        return (mode === 'day' && (date.getDay() === 0 || date.getDay() === 6));
    };


    $scope.open = function ($event) {
        $scope.status.opened = true;
    };

    $scope.setDate = function (year, month, day) {
        $scope.startDate = new Date(year, month, day);
        $scope.endDate = new Date(year, month, day);
    };

    $scope.dateOptions = {
        formatYear: 'yy',
    };

    $scope.formats = ['dd-MMMM-yyyy', 'yyyy/MM/dd', 'dd.MM.yyyy', 'shortDate'];
    $scope.format = $scope.formats[0];

    $scope.status = {
        opened: false
    };

如前所述,这行得通。但在 Firefox 和 safari 中,它没有显示日期选择器,但它在 chrome 中显示。

【问题讨论】:

    标签: javascript angularjs angular-ui-bootstrap bootstrap-datepicker


    【解决方案1】:

    不确定您使用的是哪个版本的 UI Bootstrap,但在 1.2.4 中,日期选择器标记如下所示:

    <input type="text" class="form-control" uib-datepicker-popup ng-model="startDate" is-open="opened" ... />
    

    在 FF 44 和 IE 11 中尝试了您的代码 - 我觉得很好:http://plnkr.co/edit/deE1lR?p=preview

    【讨论】:

    • 我也尝试使用 uib-datepicker-popup。但我没有像你一样显示弹出窗口的按钮。在我的代码中,它只是输入字段中的一个箭头。也许这就是使它起作用的原因。会试试看。马上回来
    • 表明如果我使用 input="date" 类型,它的工作方式会有所不同。所以我将 datepicker 改回 uib-datepicker 并从日期输入文本,现在它可以工作了。谢谢
    • 显然,如果输入类型设置为 date developer.mozilla.org/en-US/docs/Web/HTML/Element/input/date,Firefox 和 IE 会尝试显示自己的日期选择器
    猜你喜欢
    • 2016-12-01
    • 2018-11-22
    • 1970-01-01
    • 1970-01-01
    • 2017-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多