【问题标题】:Date time picker is not working in angular ui modal日期时间选择器在角度 ui 模式下不起作用
【发布时间】:2017-10-16 12:13:54
【问题描述】:

我有一个模态,它通过使用 Angular ui 模态打开

$scope.pdcPayment = function () {


    var modalInstance = $modal.open({
        templateUrl: 'pdc.html',
        windowClass: 'app-modal-window',
        backdrop: true,
        keyboard: false,
        modalFade: true,
        scope: $scope,
        controller: function ($scope, $modalInstance, $http) {
            $scope.submitMyForm = function (form) {
                if (form.bookingForm.$valid) {
                    $modalInstance.dismiss('cancel');

                }
                else {

                }
            };

            $scope.cancel = function () {
                $modalInstance.dismiss('cancel');
            };
        }
    });
};

这是我的html:

<div class="col-xs-4 form-group">
                        <label class="col-xs-12" for="pdcDatePicker">Date on Cheque: </label>
                        <div class="col-xs-12">
                            <input type="text" id="pdcDatePicker" name="pdcDatePicker" class="form-control"/>
                        </div>

另外请看一下我用来调用日期时间选择器的方法:

<script>


    jQuery('#pdcDatePicker').datetimepicker();

由于某种原因,当我单击文本框时,日期时间选择器没有显示

【问题讨论】:

标签: javascript angularjs datepicker


【解决方案1】:

这是我在 ui-modal 上使用日期选择器的方法,一旦你有了正确的日期选择器库,它就会变得非常简单。

  • 我使用了这个原生的 angular-js 日期选择器library
  • 按照this page 中列出的步骤设置此库以供使用, 设置完成后,以下代码示例将帮助您在 ui-modal 上显示日期时间选择器,我希望您对 ui-modal 本身没有任何问题。

这是我的 html 代码,把它放在你的 pdc.html 模板 html 中。

<div class="form-group col-md-6">
<label class="font-bold  small">Date on Cheque:</label>
<div class="dropdown">
    <a class="dropdown-toggle" id="dateModelId" role="button" data-toggle="dropdown" data-target="#" href="#">
        <div class="input-group dropdown">
            <input type="text" 
                   name="date"
                   class="form-control"
                   data-ng-model="dateModel">
            <span class="input-group-addon"> <i class="fa fa-calendar"></i></span>
        </div>
    </a>
    <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
        <datetimepicker
                data-ng-model="dateModel"
                data-datetimepicker-config="{startView:'day', minView:'day',dropdownSelector: '#dateModelId' }">
        </datetimepicker>
    </ul>
</div>

你的 Angular 代码不会有任何不同,因为这个日期选择器是一个原生的 angular-js 库,不需要编写 Jquery 代码,你可以通过访问 $scope.dateModel 来获取数据。

如果您想知道我是如何从主控制器触发 ui-modal 的,这里就是。

$scope.onShowDialog = function (ev) {
        $mdDialog.show({
            controller: 'dialogController',
            templateUrl: 'pdc.html',
            parent: angular.element(document.body),
            targetEvent: ev,
            clickOutsideToClose: false,
            hasBackdrop: false,
            escapeToClose: true,
        })
            .then(function (answer) {

            }, function () {

            });
    }

控制器可以是内联的,也可以是对项目中对​​话框控制器的调用,如上所示。

这就是你调用对话框的方式,

<a class="btn btn-default" type="button" ng-click="onShowDialog('$event)">
            Show Dialog</a>

【讨论】:

  • 我想你没看懂问题
  • 如果您想要实现的只是在 ui-modal 上显示日期时间选择器,那么这应该可以正常工作。不过,它可能是一个不同的实现。
猜你喜欢
  • 2013-12-08
  • 2017-03-10
  • 1970-01-01
  • 1970-01-01
  • 2016-10-16
  • 2020-02-17
  • 1970-01-01
  • 2016-03-16
  • 1970-01-01
相关资源
最近更新 更多