2015-02-24 1 views
0

Я пытаюсь сделать выбор пользователя, который позволяет вам выбирать нескольких людей. Я пытаюсь сделать так, чтобы пользователь нажимал на div, а затем значок появлялся на div, и флажок сам был бы скрыт. В настоящее время я работаю, когда пользователь нажимает на этот флажок, и теперь я пытаюсь заставить его работать, когда они нажимают на div. Но в настоящее время, когда пользователь нажимает на содержащий div, поле проверяет, но в результате этого нет никаких действий. Он по-прежнему работает, когда вы нажимаете на флажок. Может ли кто-нибудь помочь мне понять, что здесь происходит?Как определить флажок true с помощью ng-checked?

Мой код выглядит следующим образом:

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); 
}; 
Смежные вопросы