Angularjs Ng_repeat中实现复选框选中并显示不同的样式

页面代码:

<!-- 弹出层 -->
<section class="popup-bg" ng-if="IsActive">
    <div class="popup-box phone-detail">
        <div class="popup-title popup-detail-title">通讯录
            <i class="iconfont popup-close-font rights " ng-click="HideMail()">&#xe61c;</i>
        </div>
        <div class="content">
            <div class="phone" ng-repeat="User in NoticeUserList">{{User.Name}}
                <div class="check-item rights">
                    <div class="check-bg"
                         ng-class="{true:'checkeds',false:'uncheckeds',}[active]">
                    </div>
                    <input type="checkbox" ng-model="active" class="checkboxs" value="User.Name"
                           ng-click="itemSelected($event,User.Id,active)">
                </div>
            </div>
        </div>
    </div>
</section>


Controller中代码:

$scope.itemIds = [];
$scope.active = false;
$scope.itemSelected = function ($event, pid, active) {
    var checkbox = $event.target;
    if (checkbox.checked) {
        $scope.itemIds.push(pid);
    } else {
        $scope.itemIds = Tools.arrRemove($scope.itemIds, pid);
    }
    console.log(active);
    console.log($scope.itemIds);
};

总结: 此处开始写的时候没有使用NG-MODEL,导致复选框选中一个,其他的复选框样式都跟着变化了,重点就是加上NG-MODEL,并且和NG-CLASS设置的[]中的名称一致即可。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值