我正在尝试制作一个允许您挑选多人的用户选择器。我试图让它成为用户点击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>
答案 0 :(得分:0)
我有类似的问题,通过软件点击解决了这个问题。这是一个例子
scope.clickOnSomeElement = function ($event) {
$event.stopPropagation();
$timeout(function() {
angular.element('#desired-element').trigger('click');
}, 0);
};