当复选框被更改时,angularjs会动态传入JSON

时间:2016-06-22 19:50:40

标签: angularjs

        <li ng-repeat="header in table.headers track by $index">


            <div data-ng-if="header.type === 'checkbox'">
                {{header.value}}<input type="checkbox"
                ng-init="table.addBoxInputs[$index] = {type: 'checkbox', checked: false, value: header.value}"
                />
            </div>

所以我的程序动态生成一个复选框,最初传入json。现在我希望json的checked键更改为truefalse,具体取决于是否选中了复选框。

我不想在控制器中创建一个方法并更改它,有没有办法在标记中执行此操作?我尝试添加以下内容:

  ng-model='table.addBoxInputs[$index]'
  ng-change="table.addBoxInputs[$index] = {type: 'checkbox', checked: table.addBoxInputs[$index], value: header.value}"

然而,这不会起作用,因为ng-model将继续将table.addboxinput [$ index]更改为true或false,基于复选框

1 个答案:

答案 0 :(得分:1)

我不支持在您的标记中执行此操作,但如果您想要这样做,那么您需要将ng-click指令添加到您的复选框中,如下所示:

<input type="checkbox" ng-init="table.addBoxInputs[$index] = {type: 'checkbox', checked: false, value: header.value}" ng-click="table.addBoxInputs[$index].checked = !table.addBoxInputs[$index].checked" />

这是一个有效的plunk