Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 模型中未反射的离子无线电组_Angularjs_Ionic Framework - Fatal编程技术网

Angularjs 模型中未反射的离子无线电组

Angularjs 模型中未反射的离子无线电组,angularjs,ionic-framework,Angularjs,Ionic Framework,所以我从一个api加载了一堆问题,每个问题都有自己的答案 Im无法填充ng model for radio box以记录所选答案 html {{问题.文本} {{option.text} 来自控制器的相关代码 vm.answers=[]; api.need\u assessment\u questions.query( //论成功 功能成功(响应){ vm.questions=回答; //填充答案 对于(var i=0;i

所以我从一个api加载了一堆问题,每个问题都有自己的答案

Im无法填充ng model for radio box以记录所选答案

html


{{问题.文本}
{{option.text}
来自控制器的相关代码

vm.answers=[];
api.need\u assessment\u questions.query(
//论成功
功能成功(响应){
vm.questions=回答;
//填充答案
对于(var i=0;i
我面临的问题是答案数组总是重写第一个答案文本


fiddle:

您需要在顶部初始化问题索引,并在您的模型中使用它,因为还有另一个
ng repeat
会覆盖以前的
$index

试试这个

<div class="list">
    <div class="item item-text-wrap" 
            ng-repeat="question in vm.questions track by $index" 
            ng-init="qIndex = $index">
        <h2>{{question.text}}</h2>
        <ion-list if="question.type='mcq'">
            <ion-radio ng-model="vm.answers[qIndex].answer_text" ng-value="option.text" ng-repeat="option in question.options" name="{{vm.answers[qIndex].answer_text}}">{{option.text}}</ion-radio>
        </ion-list>
        <input type="text" ng-if="question.type=='simple'" ng-model="vm.answers[$index].answer_text" placeholder="{{question.text}}" />
    </div>
</div>

{{问题.文本}
{{option.text}

正在工作

您能提供一把小提琴吗?@Gaurav yes here:,也在回答中更新您能给我一个包含无线电输入的问题数据吗?
vm.answers = [];

api.need_assesment_questions.query(
    //on success
    function success(response) {
        vm.questions = response;

        //populate answers 
        for (var i = 0; i < vm.questions.length; i++) {

            vm.answers.push({ question_text: vm.questions[i].text, answer_text: '' });

        }
    },
    //on error
    function error(response) {
        alert(response.message);
    }
);
<div class="list">
    <div class="item item-text-wrap" 
            ng-repeat="question in vm.questions track by $index" 
            ng-init="qIndex = $index">
        <h2>{{question.text}}</h2>
        <ion-list if="question.type='mcq'">
            <ion-radio ng-model="vm.answers[qIndex].answer_text" ng-value="option.text" ng-repeat="option in question.options" name="{{vm.answers[qIndex].answer_text}}">{{option.text}}</ion-radio>
        </ion-list>
        <input type="text" ng-if="question.type=='simple'" ng-model="vm.answers[$index].answer_text" placeholder="{{question.text}}" />
    </div>
</div>