TypeError:无法分配给只读属性“已选中”复选框

时间:2016-02-11 16:54:50

标签: javascript html angularjs checkbox

我有以下checkbox我会过滤,但当我删除过滤器时,checkboxes会丢失。我理解为什么 - 但Angular不允许我将选中的值附加到我的ng-model,因为它是只读

HTML:

<div class="modal-content">
    <strong>ENTITIES</strong>
    <div>
        <div>
            <input type="text" placeholder="Search" ng-model="simpleFilter">
            <button type="button" ng-click="showModal=false">Ok</button>
        </div>
    </div>
    <br/>
    <div ng-repeat="entity in entityArray | filter:simpleFilter">
        <label>
            <input style="display: inline-block; 
                          margin-top: 5px;" 
                   type="checkbox" ng-model="entity.checked"
                   ng-change="getEntityFromModal(entity, entity.checked)" />
            <a>{{entity}}</a>
        </label>
    </div>
</div>

我正在尝试将entity.checked值传递给一个函数,我甚至不确定如果检查它是否为真值,如果没有则判断为false,但是错误发生在此之前,它根本就不会让我将checked附加到entity

plunker https://plnkr.co/edit/2ptIAdOyaIw8mGqpU7Cp?p=preview - 打开控制台并尝试选中一个框。

1 个答案:

答案 0 :(得分:1)

您需要在模型中创建要用视图绑定视图的属性。

编辑$ scope.entityArray,如下所示:

$scope.entityArray = [{'val':11,'checked':false},{'val':22,'checked':false},{'val':33,'checked':false}];