我想用一些动态问题填充表单(fiddle
here):
<div ng-app ng-controller="QuestionController"> <ul ng-repeat="question in Questions"> <li> <div>{{question.Text}}</div> <select ng-model="Answers['{{question.Name}}']" ng-options="option for option in question.Options"> </select> </li> </ul> <a ng-click="ShowAnswers()">Submit</a> </div> function QuestionController($scope) { $scope.Answers = {}; $scope.Questions = [ { "Text": "Gender?","Name": "GenderQuestion","Options": ["Male","Female"]},{ "Text": "Favorite color?","Name": "ColorQuestion","Options": ["Red","Blue","Green"]} ]; $scope.ShowAnswers = function() { alert($scope.Answers["GenderQuestion"]); alert($scope.Answers["{{question.Name}}"]); }; }
一切正常,除了模型是字面上的答案[“{{question.Name}}”],而不是评估的Answers [“GenderQuestion”]。如何动态设置模型名称?
http://jsfiddle.net/DrQ77/
你可以简单地将JavaScript表达式放在ng-model中。