2014-02-17 33 views
3

如何在下面給出的情況下調用函數?如果你想使用NG-變化angularjs:在select元素中調用函數

<select class="dropdown"> 
    <option ng-repeat="group in myGroups" ng-model="group.Name" ng-change="myFunction(group.Id)">{{group.Name}}</option> 
</select> 
  • NG-點擊將無法正常工作,需要
  • NG-模型(我不需要NG-模型在這種情況下,否則)
  • 納克 - 改變似乎並沒有調用函數以及
  • 我知道我可能只是使用ng模型和$ watch,但因爲我不認爲我真的可以在這種情況下使用ng模型我有點困惑

那麼,如何在ng-repeat select中調用函數? (它不是ng-select,你可能注意到了)

回答

11

那麼,option本身不會改變。

select元素的值有什麼變化。在當前scope這樣

<select ng-model="selectedGroup" ng-change="yourFunction()"> 
    <option ng-repeat="group in myGroups">{{group.name}}</option> 
</select> 

yourFunction

所以,試試這個

scope.yourFunction = function() { 
    console.log(scope.selectedGroup); 
}; 

我也強烈建議你看看ngOptionshere

+1

謝謝,我有點不情願ngOptions,因爲它似乎有點難以掌握,但現在我看到它的方便,因爲它可以。我喜歡你直接回答我的問題,並指出ngOptions可能是更好的解決方案。 – trainoasis

+1

http://jsfiddle.net/YGf7d/2/是ng選項的一個例子,用於選擇元素上的ng模型 – leon