gpt4 book ai didi

angularjs - Bootstrap 模式中的文本输入未触发 ng-change 事件

转载 作者:行者123 更新时间:2023-12-01 05:14:39 25 4
gpt4 key购买 nike

我有点卡在这里。我有一个应用程序,它使用带有来自服务器的值的几个文本框的 Bootstrap 模式。当我第一次打开模式并从文本框 ng-change 事件中删除项目时。清除所有字段后,我关闭了模式。当我再次打开模式时,它会填充新值,但是当我从文本框中删除项目时,不会触发 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 存在。

你检查过这些东西吗?除此之外,我还认为您应该发布整个 View 和 Controller ,因为很难在您已经发布的代码段中找到错误。

关于angularjs - Bootstrap 模式中的文本输入未触发 ng-change 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21910556/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com