後更新範圍值我有一種情景,用戶從彈出框中的網格中選擇一個值,並將所選值顯示在容器頁的文本框中。在用戶選擇一個值後,彈出引發一個在容器頁面中捕獲的事件。現在我可以使用.val()
設置文本框的值,但是如何更新模型?在AngularJS中動態更新文本框
$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>
請注意,文本框,可以在範圍與任意字段約束例如Model.AVC.XYZ.LMN
對不起,如果我誤解,但;記住雙向綁定是Angular的關鍵功能之一 - 而不是改變視圖,你應該簡單地改變模型,數據會自動更新。所以通過你的控制器只需設置'$ scope.Model.Person2.Name = html(data [0] .toString())'。當你完成這個工作時,帶有ng-model =「Model.Person2.Name」的輸入元素將被簡單地更新。 –
嗨,感謝您的回覆。問題是Model.Person2.Name也是動態的,因爲控件可以在不同的地方使用並綁定到不同的字段。所以我必須做一些像scope [「Model」] [「Person2」] [「Name」]的東西,它可以隨着每個屏幕而改變。所以我認爲正確的問題是「我如何更新範圍內的值,如果我有像Model.Person2.Name或Model.ABC.XYZ.PQR字符串」 – Haris
我看到 - 我想不出任何其他解決方案簡單地分割所述字符串; var array = string.split('。')'然後做'$ scope.array [0] .array [1] .array [2] .array [3] = html(data [0] .toString() )'不完全是一個很好的解決方案,但解決方案 –