可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
I have a list of question that user has to answer.For that a have prepared a form.
The html form is
<div class="list" ng-repeat="question in questions.data.Question" > <div class="item item-divider"> {{question.text}} </div> <label class="item item-input" ng-if="question.type =='comment'"> <textarea placeholder="Comments"></textarea> </label> </div>
now my json string is
{ "sucess": true, "message": "record(s) fetched sucessfully", "data": { "Question": [ { "id": "4", "text": "how was it?", "type": "comment" }, { "id": "6", "text": "how was it?", "type": "comment" } ] } }
now when user submit the form I should get the comment user has posted of all the question.
回答1:
I am not angular expert, but I think you need to add ng-model to the textarea element.
<div class="list" ng-repeat="question in questions.data.Question" > <div class="item item-divider"> {{question.text}} </div> <label class="item item-input" ng-if="question.type =='comment'"> <textarea placeholder="Comments" ng-model="question.comments"></textarea> </label> </div>
And, you also need to add 'comments' field to each comment type question. Example:
{ "id": "6", "text": "how was it?", "type": "comment", "comments": "" }
Note that you may not need to add "comments" field if there is a 'force add field' flag for angularjs that i'm not aware of.
回答2:
You have to bind ng-model to the textarea, it works even if you don't have the "answer" variable in your initial json data. I have added a button for demo purpose. Full example on JSFIDDLE
<div id="qApp" ng-controller="qAppCntrl"> <div class="list" ng-repeat="question in questions.data.Question track by $index" > <div class="item item-divider"> {{question.text}} </div> <label class="item item-input" ng-if="question.type =='comment'"> <textarea placeholder="Comments" ng-model="question.answer"></textarea> </label> </div> <button ng-click="submit()">Post</button> </div>