gpt4 book ai didi

javascript - 动态更新文本框后更新范围值

转载 作者:行者123 更新时间:2023-11-30 05:34:44 26 4
gpt4 key购买 nike

在 AngularJS 中,我有这样的场景:用户从弹出窗口的网格中选择一个值,并且所选值显示在容器页面的文本框中。用户选择一个值后,弹出窗口会引发一个在容器页面中捕获的事件。现在我可以使用 .val() 设置文本框的值,但是如何更新模型?

$scope.$on('rowSelectedInPopup', function (event: ng.IAngularEvent, ...data) {
if (elementId === data[1].toString()) {
$(elementId).val(data[0].toString());
$(elementId + "_inlinelbl").html(data[0].toString());
}
});

这是我的文本框和标签 html:

<input type="text" value="" id="ServiceManagerglookup" ng-model="Model.Person2.Name" />
<label id="ServiceManagerglookup_inlinelbl" ng-model="Model.Person2.Name">ABC</label>

请注意,文本框可以与范围内的任意字段绑定(bind),例如型号.AVC.XYZ.LMN

最佳答案

除了更改值之外,您还需要通知 Angular 值已更改,使用

$(elementId).trigger('输入');

像这样

$scope.$on('rowSelectedInPopup', function (event: ng.IAngularEvent, ...data) {
if (elementId === data[1].toString()) {
$(elementId).val(data[0].toString());
$(elementId + "_inlinelbl").html(data[0].toString());
$(elementId).trigger('input');
}
});

此输入监听器的触发通常由浏览器完成 - 因此当您直接更改模型时,您也被迫触发该事件。

关于javascript - 动态更新文本框后更新范围值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24629147/

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