在ng-repeat内生成ng模型

时间:2014-03-13 18:10:50

标签: javascript angularjs for-loop ng-repeat angular-ngmodel

我一直在阅读一些主题,但无法找到解决这个问题的解决方案。

我正在尝试在 ng-repeat 中添加 ng-model

<span ng-repeat="list in lists">
         <input type="checkbox" ng-model="formData.checkboxes.{{ list.value }}"> {{ list.number }} {{ list.description }} <br/>
</span>

,列表值如下:

$scope.lists = [

    {

        value:'value1',
        number: '1',
        description:'Lorem ipsum dolor sit amet, consectetur adipiscing elit. ',    
    },

    {
        value:'value2',
        number: '2',
        description:'Lorem ipsum dolor sit amet, consectetur adipiscing elit. ', 
        },

        {
        value:'value3',
        number: '3',
        description:'Lorem ipsum dolor sit amet, consectetur adipiscing elit. ',            },
    ];

在ng-repeat循环中,我希望它构建一个类似于:formData.checkboxes.value1 formData.checkboxes.value2, formData.checkboxes.value3等的ng模型。

这可能吗?当我尝试上述方法时,没有显示出来。我在这做错了什么?

2 个答案:

答案 0 :(得分:5)

首先,您应该在控制器中定义formData.checkboxes模型,如下所示:

$scope.formData = {
    checkboxes: {}
};

...你可以像这样填充它:

<span ng-repeat="list in lists">
    <input type="checkbox" ng-model="formData.checkboxes[list.value]"/> 
             {{ list.value }} {{ list.number }} {{ list.description }} <br/>
</span>

请查看此JSFiddle作为工作示例。

答案 1 :(得分:1)

试试这个解决方案

<span ng-repeat="list in lists">
         <input type="checkbox" ng-model="formData.checkboxes[list.value]"> {{ list.number }} {{ list.description }} <br/>
</span>