AngularJS ng-model与动态元素的绑定

时间:2016-01-28 19:48:13

标签: javascript jquery angularjs

我是基于从服务获得的json数据动态创建元素的。正在创建元素,但是值不通过ng-model绑定到模型。我尝试将函数放在$ timeout中以强制$​​ apply()。即使这样也行不通。以下是代码:

function InstructionsCtrl($http, ApiCallFactory, $timeout) {
    var insCtrl = this;
    insCtrl.data = [];
    insCtrl.answers = {};
    insCtrl.questionGroup = ApiCallFactory.questionGroup;

    $timeout(function(){
        var html = "";
        var questionSet;
        for (var tempQuestionSet in insCtrl.questionGroup) {
            if (insCtrl.questionGroup.hasOwnProperty(tempQuestionSet)) {
                questionSet = insCtrl.questionGroup[tempQuestionSet];
                for (var question in questionSet) {
                    if (questionSet.hasOwnProperty(question)) {
                        if (questionSet[question].type == 'text') {
                            html += ' <div class="form-group"> <label for="text">' + questionSet[question].text + '</label> <input type="text" class="hi" id="text" ng-model="insCtrl.answers.';
                            html += tempQuestionSet + '.' + question + '" value ="text" name="radio1"> </div> '
                        }
                        else if (questionSet[question].type == 'select') {
                            var noOfOptions = questionSet[question].values.length;
                            html += ' <div class="form-group"> <label for="radio">' + questionSet[question].text;
                            html += '<select>';
                            for (var i = 0; i < noOfOptions; i++) {
                                html += '<option>' + questionSet[question].values[i] + '</option>';
                            }
                            html += '</select></div>'
                        }
                    }
                }
            }
        }
        var formContainer = $('#jsonTest');
        formContainer.empty();
        formContainer.prepend(html);
    });
}

我目前只将ng-model添加到文本类型字段中。请让我知道我做错了什么。

0 个答案:

没有答案