如何检测复选框是真的使用ng-checked?

时间:2015-02-24 00:18:03

标签: angularjs

我正在尝试制作一个允许您挑选多人的用户选择器。我试图让它成为用户点击div然后在div上出现一个图标,隐藏复选框本身。我现在已经开始工作,当用户点击复选框时,我现在正试图让它在他们点击div时工作。但是目前当用户点击包含div时,该框会进行检查,但不会产生任何操作。当你点击复选框时,它仍然有效。谁能帮我理解这里发生了什么?

我的代码如下所示:

this.users = [
{name: Arnold, $id: simplelogin:1},
{name: Bob, $id: simplelogin:2},
{name: Chris, $id: simplelogin:3}];

$scope.selectedUsers = function selectedUsers(){
    console.log("selected users: ", $scope.selectedUsers);
    return filterFilter($scope.user, {selected: true});
};

$scope.$watch('todo.groupUsers|filter:{selected:true}', function(nv){
    todos.selectionIds = nv.map(function(user){
        return user.$id;
    });
}, true);

HTML:

<div ng-repeat="user in todo.groupUsers">
<div class="userBar" ng-model="todo.addTask.user" ng-class="user.color"  ng-click="selectUser = !selectUser">
    <span ng-show="selectUser" class="icon-tick2_Tick2 left"></span>
    <input ng-checked="selectUser"  class="hidden" type="checkbox" ng-model="user.selected">
    <span  class="userName" >{{user.name}}</span>
</div>

1 个答案:

答案 0 :(得分:0)

我有类似的问题,通过软件点击解决了这个问题。这是一个例子

scope.clickOnSomeElement = function ($event) {
    $event.stopPropagation();
    $timeout(function() {
        angular.element('#desired-element').trigger('click');
    }, 0);
};