2015-02-24 54 views
0

我想让用户选择器,它允许你选择多个人。我试图让用户点击div,然后一个图标出现在div上,并且复选框本身将被隐藏。我目前正在为用户点击复选框时正在工作,并且现在正尝试让它在单击div时工作。但是,当用户点击包含div时,该框会检查,但不会产生任何操作。当你点击复选框时它仍然有效。任何人都可以帮助我理解这里发生了什么?如何使用ng-checked检测复选框是否为true?

我的代码如下所示:

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> 

回答

0

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

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