【问题标题】:why jquery Ui date picker not showing in angular?为什么 jquery Ui 日期选择器没有以角度显示?
【发布时间】:2017-11-24 22:29:34
【问题描述】:

我正在尝试使用此链接以角度显示 jquery ui 日期选择器 https://jqueryui.com/datepicker/ 我喜欢这样

function datePickerDirective() {

  var directive = {
    restrict: 'E',
    scope: {
      date: '=',
      placeHolder: '@',
      isRequired: '=',
      name: '@'
    },
    template: '<input ng-model="date" placeholder="{{placeHolder}}" type="text" />',
    link: function($scope, iElem, iAttr) {

      $(iElem).datepicker({
        maxDate: "+3m +2w",
        minDate: new Date(),
        onSelect: function(date) {
          $scope.$apply(function() {
            $scope.date = date;
          });
        }
      });
    }
  };

  return directive;
}

但它没有显示日期选择器

这是我的代码 https://plnkr.co/edit/kW6eGmuPFxFvzZfKGZXv?p=preview

【问题讨论】:

    标签: javascript jquery angularjs angularjs-directive


    【解决方案1】:

    $(iElem) 将引用 &lt;date-picker&gt; html 元素,而不是模板中的实际 input 元素。因此,要么选择 &lt;date-picker&gt; 元素内的输入,要么在指令定义中使用 replace:true

    $('input',$(iElem)).datepicker(..)

    scope: {
                    date: '=',
                    placeHolder: '@',
                    isRequired: '=',
                    replace:true,
                    name: '@'
                },
    

    这是一个有效的fork

    【讨论】:

      【解决方案2】:

      混合使用 jQuery 和 Angular 是个坏主意。请改用 AngularUI 日期选择器:https://github.com/angular-ui/ui-date

      【讨论】:

      • 是的,但目前我只使用 jquery UI。请删除这个答案
      • 这应该是一条评论。我同意,混音是在问问题
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-08
      • 1970-01-01
      • 2018-06-27
      • 2012-01-19
      • 2012-11-07
      • 2017-04-26
      相关资源
      最近更新 更多