【问题标题】:ng-click not working with uib-datepicker-popupng-click 不适用于 uib-datepicker-popup
【发布时间】:2017-04-19 09:25:19
【问题描述】:

我使用uib-datepicker-popup。当我单击此代码上的输入字段或日历图像时,什么也没有发生:

<div>
        <label for="startDate">Start</label>
        <div>
            <input type="text"
                id="startDate"
                uib-datepicker-popup="dd/MM/yyyy"
                datepicker-mode="'month'"
                datepicker-template-url="project/datepicker/datepicker.html"
                datepicker-popup-template-url="project/datepicker/popup.html"
                show-button-bar="false" 
                show-weeks="false"
                is-open="startDate.opened"
                on-open-focus="true" 
                datepicker-append-to-body="true" 
                name="dateFrom" 
                min-date="minStartDate"
                placeholder=""
                ng-model="startDate"
                uib-datepicker-popup="yyyy-MM-dd"
            />
            <span>
                <button type="button" ng-click="startDate.opened = !startDate.opened;">
                    <i aria-hidden="true"></i>
                </button>
            </span>
        </div>
   </div>

你知道这个问题吗?
谢谢!

【问题讨论】:

  • 使用(tap)="method()"(click)="method()"
  • 请提供 plunker。从您提供的代码来看,一切正常

标签: angularjs angular-ui-bootstrap uidatepicker


【解决方案1】:

我不确定,但如果参考文档:

ng-model $ - 日期对象。必须是 Javascript 日期对象。您可以使用 uibDateParser 服务,用于协助字符串到对象的转换。 (https://angular-ui.github.io/bootstrap/)

在您的情况下,它不是日期

尝试创建其他属性来保持 is-open (e.g. $scope.isOpen) 状态:

<div>
    <label for="startDate">Start</label>
    <div>
        <input type="text"
            id="startDate"
            uib-datepicker-popup="dd/MM/yyyy"
            datepicker-mode="'month'"
            datepicker-template-url="project/datepicker/datepicker.html"
            datepicker-popup-template-url="project/datepicker/popup.html"
            show-button-bar="false" 
            show-weeks="false"
            is-open="isOpen"
            on-open-focus="true" 
            datepicker-append-to-body="true" 
            name="dateFrom" 
            min-date="minStartDate"
            placeholder=""
            ng-model="startDate"
            uib-datepicker-popup="yyyy-MM-dd"
        />
        <span>
            <button type="button" ng-click="isOpen = !isOpen">
                <i aria-hidden="true"></i>
            </button>
        </span>
    </div>

【讨论】:

  • 在我的ng-model 中使用Date 对象解决了这个问题,谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-12-01
  • 2018-11-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-18
  • 1970-01-01
相关资源
最近更新 更多