angularjs – ng-change事件未在bootstrap模式中为文本输入触发

前端之家收集整理的这篇文章主要介绍了angularjs – ng-change事件未在bootstrap模式中为文本输入触发前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有点被困在这里.我有一个应用程序使用bootstrap模式与几个文本框,其中包含来自服务器的值.当我第一次打开模态并从文本框中删除项目时更改事件触发.清除所有字段后,我关闭了模态.当我再次打开模态时,它会填充新值,但是当我从文本框中删除项目时,不会触发ng-change事件.

但是在这里我发现了一个更奇怪的事情,只有在文本框中有一个项目时才会出现上述问题.

这是我的HTML代码

<tr>
  <td>
    <input only-numeric class="floatLeft" name="scoreSample" type="text" ng-model="scoreSample" id="scoreSample" ng-change="sampleMethod()" ng-model-onblur>
  </td>
  <td>
    <input only-numeric class=" floatLeft" name="errorSample" type="text" ng-model="errorSample" id="errorSample" ng-change="sampleMethod()" ng-model-onblur>
  </td>
</tr>

AngularJS代码

$scope.sampleMethod = function () {
  alert("Coming here");
}

提前致谢.

解决方法

发生这种情况的可能原因列在文档中:

仅当输入值的更改导致将新值提交给模型时,才会评估ngChange表达式.

它不会被评估:

如果$parsers转换管道返回的值没有改变

如果输入继续无效,因为模型将保持为空

如果以编程方式更改模型,而不是更改输入值
注意,该指令要求存在ngModel.

你检查过这些东西了吗?除此之外我还认为你应该发布整个视图和控制器,因为很难在你发布的代码片段中找到错误.

猜你在找的Angularjs相关文章