我有幾個綁定到不同模型字段的輸入,如model.a
和model.b
,我需要向服務器發送請求以獲取自動完成數據。所以兩者的邏輯都是一樣的。 我想爲每個指令添加ng-change="changeHandler()"
指令。但在changeHandler()
裏面我需要得到輸入值 - 如何正確地做到這一點?我不能只是採取一些模型領域,因爲我有兩個領域相同的代碼。angularjs將同一個偵聽器綁定到不同的輸入,如何獲得輸入值
0
A
回答
1
傳遞型號向變化函數作爲參數:
<input type='text' ng-model='testinput' ng-change='changeHandler(testinput)'/>
1
您可以在指令包這一切了,這將有機會獲得scope.model.a或者你可以像下面這樣做:
ng-change="chanageHandler(model.a)" ng-model="model.a"
2
如果你想做到這一點沒有發射過一個GET對每一個變化的網絡API,你必須變得更加複雜一點。
設置一個$注視model.a
或model.b
(或兩者)
在$表處理程序,通過無極拉自動完成結果,這看起來有點像這樣:
myModule.factory('HelloWorld', function($q, $timeout) {
var getMessages = function() {
var deferred = $q.defer();
$timeout(function() {
deferred.resolve(['Hello', 'world!']);
}, 2000);
return deferred.promise;
};
return {
getMessages: getMessages
};
});
// from: http://markdalgleish.com/2013/06/using-promises-in-angularjs-views/
然後將自動完成綁定到Promise的結果。
你還需要去抖更改,這SO後可能會有幫助:How to write a debounce service in AngularJS
我覺得這個博客帖子可能會幫助:http://www.grobmeier.de/angular-js-autocomplete-and-enabling-a-form-with-watch-and-blur-19112012.html#.UkMBIB1Dsak
相關問題
- 1. 如何將「輸入值」偵聽器添加到JTable?
- 2. 綁定JSON到Angularjs輸入
- 3. AngularJS - 綁定HTML到輸入
- 4. AngularJS - 綁定輸入文件範圍到不同的範圍
- 5. 如何獲得多個輸入值與同一ID
- 6. 如何在同一指令中獲得多個輸入值?
- 7. 兩個輸入相同的值angularjs
- 8. 如何divde固定輸入的值不同輸入
- 9. 在一個輸入表格中輸入兩個不同的值
- 10. 偵聽輸入值的刪除
- 11. 如何將一個css值與一個帶有angularJS的表單輸入同步?
- 12. 如何獲得id相同的輸入值,而不刷新
- 13. 如何將輸入值從一個輸入顯示到另一個輸入
- 14. 獲取同名輸入值
- 15. 如何將輸入文字保存到變量,同時在angularjs中輸入
- 16. 將滑塊輸入綁定到十進制值的AngularJS問題
- 17. Jquery獲得輸入的輸入值
- 18. 如何在用戶輸入中獲得一些價值輸入
- 19. 如何從不同類的多個輸入字段獲取值?
- 20. 如何將文本從文本輸入綁定到使用angularjs的另一個文本輸入
- 21. 如何處理綁定到相同ng模型的不同輸入類型?
- 22. 限制不同的值到一個單一的輸入類型
- 23. 如何在同一個輸入框中輸入多個字段
- 24. 如何將獨特事件偵聽器綁定和解除綁定到同一個對象?
- 25. 如何在C++的同一行中輸入多個輸入?
- 26. AngularJS過濾器不會同步來自模塊的輸入值
- 27. 將不同輸入的值添加到同一個數據庫行
- 28. 如何將一個輸入的值傳遞給多個輸入?
- 29. 插入不同的輸入值合併到一列(MySQL的)
- 30. 得到一個隱藏的輸入值