使用AngularJS和Ionic

时间:2016-09-21 13:13:12

标签: angularjs ionic-framework radio-button

我正在使用Ionic和AngularJS 1.x创建一个Survey应用程序,当用户提交表单时,我很难尝试发送正确的数据。

当一个问题有一组单选按钮(答案)时,我的应用程序会在用户点击其中一个(按预期)时将答案标记为“已选择”,但如果用户点击另一个选项,则前一个选项会标记为“选择”。因此,当提交数据时,我会在“单选按钮问题”中收到多个答案。

Here´s my code in codepen

我认为我将单选按钮设置错误,这里是代码的摘录:

<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",
    }
你可以帮我解决这个问题吗?我不确定我做错了什么。您可以看到复选框问题正常,但不是单选按钮。

非常感谢您提前。我很感激你能给我的任何帮助。

1 个答案:

答案 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}}