创建新的投票时,问题和所有可能的答案需要在提交后发送到controller
。我知道如何使用ng-model
,但我不知道如何将其绑定到该数组中的array
。
例如,我的数组看起来像这样:
var question = {
"question":"",
"choices": [
{
"id":1,
"choice": "Yes"
},
{
"id"=2,
"choice": "No"
}
]
}
<form novalidate name="questionForm" ng-submit="addVote(vote)">
<input placeholder="Type your question..." name="question" ng-model="vote.question" />
<input ng-model="" value="Choice 1" />
<input ng-model="" value="Choice 2" />
<button type='submit' class="circle-btn btn-send ion-ios-paperplane"></button>
</form>
input[name=question]
显然会将input
框中的内容发送到vote.question
。但是,如何将这些潜在答案添加到choices
array
?
简而言之:我需要能够绑定{id:1, choice: value of input}
答案 0 :(得分:2)
您可以使vote
变量成为包含问题的对象文字和答案选择数组(可以是空数组):
在控制器中:
$scope.vote = {
"question": 'question stem title here',
"answerChoices": [
{"id": 1, "choice": 'Yes'},
{"id": 2, "choice": 'No'},
]
};
在HTML中:
<form novalidate name="questionForm" ng-submit="addVote(vote)">
<input placeholder="Type your question..." name="question" ng-model="vote.question" />
<span ng-repeat="choice in vote.answerChoices track by $index">
<input class="form-control" ng-model="vote.answerChoices[$index]" />
</span>
<button type='submit' class="circle-btn btn-send ion-ios-paperplane"></button>
</form>
您可以push
以编程方式vote.answerChoices
数组的新答案选项
答案 1 :(得分:1)
只需使用ng-repeat来迭代选择,并在数组的每个元素上显示一个输入,绑定到该元素的choice字段:
<div ng-repeat="element in vote.choices">
<input ng-model="element.choice" />
</div>