我正在使用Ionic和AngularJS 1.x创建一个Survey应用程序,当用户提交表单时,我很难尝试发送正确的数据。
当一个问题有一组单选按钮(答案)时,我的应用程序会在用户点击其中一个(按预期)时将答案标记为“已选择”,但如果用户点击另一个选项,则前一个选项会标记为“选择”。因此,当提交数据时,我会在“单选按钮问题”中收到多个答案。
我认为我将单选按钮设置错误,这里是代码的摘录:
<ion-radio name="{{q.question}}"
ng-if="q.is_simple == 1"
ng-repeat="a in q.answers"
ng-model="a.selected"
value="true">
{{a.answer}}</ion-radio>
然后,如果用户使用单选按钮并点击其中两个,则两个选项都标记为“已选择”。
"answers": [
{
"id": "5",
"question_id": "2",
"answer": "Yes",
"selected": "true",
},
{
"id": "6",
"question_id": "2",
"answer": "No",
"selected": "true",
}
你可以帮我解决这个问题吗?我不确定我做错了什么。您可以看到复选框问题正常,但不是单选按钮。
非常感谢您提前。我很感激你能给我的任何帮助。
答案 0 :(得分:0)
这不是一个单选按钮在angularjs中的工作方式。
每个单选按钮必须具有相同的型号。然后该值将是所选的值。
<ion-radio name="{{q.question}}"
ng-if="q.is_simple == 1"
ng-repeat="a in q.answers"
ng-model="mymodel.thisanswer"
ng-value="{{a.id}}">
{{a.answer}}
</ion-radio>
编辑根据您的需要,可以将其存储在q.selectedAnswer
中。像这样,您将在所选答案的问题中拥有一个属性。
{{a.answer}}