触发日期更改时未触发ng-change事件

时间:2020-03-18 14:14:06

标签: javascript html angularjs typescript

嗨,我是angular js的新手。目前,我的场景是当我更改日期时,它应该触发打开模式的方法。但是在我的情况下,我正在使用ng-change事件来调用该方法,在此情况下,该调用不会在更改日期时触发。 但是如果我在日期单击字段上使用ng-click方法将打开模式,而该模式不应在更改日期时发生,而应打开模式。 那么我该如何实现呢?

HTML代码:

<div class="input-wrap-container row">
  <field ng-model="requisition.validityStartDate" class="col-xs-4"
         editable="true"
         ng-change ="validityStartDate(requisition.validityStartDate)">
  </field>`
</div>

这是我的JS代码`:

var validityStartDate = function (validityStartDate) {
    newValueStartDate = validityStartDate;
    debugger
    if (newValueStartDate != null && newValueStartDate != oldValueStartDate) {

        var apprModalId = "changeValidityDates";

        $element.find('#'+ apprModalId).modal("show");
        oldValueStartDate = newValueStartDate;
        newValueStartDate = null;

        $element.find('#'+ apprModalId).on('shown.bs.modal', function () {
            console.log("submit-req error modal shown");

        //scope.buttonActionReqError = response;
        });   
    }
};

1 个答案:

答案 0 :(得分:0)

当用户更改输入时评估给定的表达式。angularjs doc

由于您未使用输入字段,因此ngChange将不会触发。

<field>更改为<input>

更新匹配评论

onKeyup

我想您可以根据需要进行ng-keyup="expression"或keyDown或由按键触发的任何其他操作。