2015-02-24 55 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); 
};