Angular + Bootstrap + Datepicker =无效

时间:2017-04-21 10:42:28

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

我使用AngularJs 1.6和angular-ui-bootstrap 2.5.0(bootstrap-ui-tpl.min.js)

加载页面时,模型值(dateOfBirth)未在日期选择器文本框中预先填充。似乎很多人报告了不同版本的角度/自举的类似问题,但似乎没有任何效果。

HTML:

  <input type="text" class="form-control" uib-datepicker-popup="{{format}}" ng-model="dateOfBirth" datepicker-options="dateOptions"/>
  <span class="input-group-btn">
    <button type="button" class="btn btn-default" ng-click="openDobDatePicker()"><i class="glyphicon glyphicon-calendar"></i></button>
  </span>

使用Javascript:

$scope.format = 'dd/MM/yyyy'

$scope.dateOfBirth = '05/12/2004'

$scope.dateOptions = {
  maxDate: new Date(),
  startingDay: 1,
  showWeeks: false
}

修改 似乎angular提供uibDateParser来解析String到Date对象。但是,以下内容无声地失败:

$scope.dateOfBirth = $uibDateParser.parse('05/12/2004', 'dd/MM/yyyy')

1 个答案:

答案 0 :(得分:2)

它没有填充,因为它是一个字符串而不是有效的$conn_id = ftp_connect('hostname'); ftp_login($conn_id, 'username', 'password'); ftp_pasv($conn_id, true); $h = fopen('php://temp', 'r+'); ftp_fget($conn_id, $h, '/path/to/file', FTP_BINARY, 0); $fstats = fstat($h); fseek($h, 0); $contents = fread($h, $fstats['size']); fclose($h); ftp_close($conn_id); 。所以,如果你改变它,

Date

..它会起作用!另请注意,$scope.dateOfBirth = new Date("05/12/2004"); 将附带本地时区,因此如果您想要更改时区或有关日期操作的任何内容,momentjs是一个很好的库来处理这些。

编辑:如果您的格式为new Date(..),您可以执行以下操作以转换为有效日期:

dd/MM/yyyy