在自定义按钮单击上调用日期选择器视图

时间:2018-04-24 15:53:22

标签: javascript angularjs datepicker

我将此library用于日期选择器。我试图通过自定义按钮点击打开日期选择器。 这是我的默认输入,它可以正常工作。

<input name="pickerFromDate" date-time ng-model="model[options.key]" id="pickerFromDate" min-view="month" class="edb-input input-group-input"
 placeholder="{{to.placeholder}}" max-date="maxDate" date-change="changeMinValue" format="MMM DD, YYYY" validation="required"
 watch-direct-changes="true" />

这是我的自定义按钮,通过单击此按钮我想打开我的日历视图,就像我点击输入一样。

<button type="button" class="btn btn-default" ng-click="setFocus($event);">
    <i class="fa fa-calendar"></i>
</button>

在我的指令控制器中,我声明了这个函数

$scope.setFocus = function(data) {
    let input = $(data.target).closest('.cv-form-section').find('input');
    input.click();
};

我找到输入,但触发“click”或“focus”事件会导致错误。

Error: [$rootScope:inprog] $apply already in progress

1 个答案:

答案 0 :(得分:1)

  1. $timeout导入控制器头设置
  2. 使用它:
  3. $scope.setFocus = function(data) {
        let input = $(data.target).closest('.cv-form-section').find('input');
        $timeout(function(){
          input.click();
        })
    };