2014-04-22 71 views
2

我使用通過外部Js文件進行更改的html輸入。輸入字段用於過濾表的列表。使用getElementById更新html輸入並使用AngularJs進行篩選

非常基本上我有: 的JavaScript

<script> 
document.getElementById('search').value = returnCountry("China"); 
</script> 

的Html

<input type="text" id="search" ng-model="query"> 

所以當JavaScript的運行它填充輸入字段,但角度不拿起一個變化正在取得和不是過濾。如果您鍵入或如果將其粘貼,則過濾器可以正常工作。

+0

您可以創建一個重新生成該問題的重撥或小提琴嗎? –

+0

可能的重複問題,http://stackoverflow.com/questions/11873627/angularjs-ng-model-binding-not-updating-with-dynamic-values – EveryWell

回答

0

在JavaScript的結尾處嘗試以下操作以強制調用onChange事件。

var event = document.createEvent("HTMLEvents"); 
event.initEvent("change",true,false); 
document.getElementById("search").dispatchEvent(event) 
0

你爲什麼不用angularjs方法來改變模型而不是DOM。 DOM應該只對模型中的變化做出響應。在你的控制器開始把以下內容:

$scope.query = "China"; 

或任何你從returnCountry功能

$scope.query = returnCountry("China"); 

回來,你應該罰款去。