ui.bootstrap.datepicker是第二次打开不工作

时间:2015-07-17 23:11:50

标签: angularjs twitter-bootstrap angularjs-scope angular-ui angular-ui-bootstrap

我正在使用ui.bootstrap.datepicker,首次点击它正常工作,然后再点击它就无法正常工作。

我使用了许多选项,例如is-open='$parent.isOpen'ng-model="$parent.date ="以及$timeOut service对我来说没有任何作用。

  <div class="input-group">
    <input type="text" class="form-control" datetime-picker="MM/dd/yyyy HH:mm" ng-model="myDate" is-open="$parent.isOpen"  />
    <span class="input-group-btn">
        <button type="button" class="btn btn-default" ng-click="openCalendar($event, prop)"><i class="fa fa-calendar"></i></button>
    </span>
</div>

4 个答案:

答案 0 :(得分:1)

此解决方案有效,问题是$ scope。

HTML

<input ng-click="openDatepicker($event)" type="text" class="form-control"

datepicker-popup="MM-dd-yyyy" ng-model="submission.require_date"

is-open="mydp.opened" min-date="minDate" datepicker-options="dateOptions"

ng-required="true" close-text="Close">

Js片段

$scope.openDatepicker = function($event) {
   $event.preventDefault();
   $event.stopPropagation();
   if (typeof($scope.mydp) === 'undefined'){
       $scope.mydp = {};
   }
   $scope.mydp.opened = true;
};

答案 1 :(得分:0)

这通常是由于与here所述的原语和原型继承的绑定而发生的。您将经常看到开发人员将在其控制器中创建一个“vm”对象并绑定到该

$scope.vm = $scope;
$scope.isOpen = false;

<input type="text" class="form-control" datetime-picker="MM/dd/yyyy HH:mm" ng-model="myDate" is-open="vm.isOpen"  />

答案 2 :(得分:0)

我也面临同样的问题。我通过将配置包装在对象中而不是直接绑定到范围来实现它。

$scope.datePickerSetting = {
  dateOptions: {
    formatYear: 'yy',
    startingDay: 1
  },
  format: 'dd/MM/yyyy',
  opened: false
};

然后

<input type="text" name="date" class="datepicker-input" ng-model="dob" datepicker-popup="{{datePickerSetting.format}}" is-open="datePickerSetting.opened" datepicker-options="datePickerSetting.dateOptions" close-text="Close" readonly="readonly" ng-blur="closeDatepicker()" />

答案 3 :(得分:0)

使用jquery 1.11尝试此代码,

CSHTML代码:

  new Tu1{ e1 = Te1.e1_e1, e2 = Te2.e2_e1 }
};

JavaScript

@Html.TextBox("FirstContactDate", "", new { @autocomplete="off"})