【发布时间】:2016-10-12 17:35:21
【问题描述】:
我在 angularjs 中工作,我需要在 ng-repeat 中切换 div,但它不能正常工作。 jQuery click 也不能解决这个问题。单击pregroupMem() 锚标记时,我正在调用此函数。和来自这个函数的数据 id,我在listdiv div 中使用它作为membersList。我需要在单击“custom-cn”锚标记时切换此 div。有多个列表,在每个列表中都有多个 listdivs 。我需要在单击列表的锚标记时切换特定的 div。
This is my js to get all groups of members.
localStorageService.set('grpOpen', grps.openGroups);
localStorageService.bind($scope, 'grpOpen');
grs.init = init;
function init()
{
getMyData();
}
$scope.data = null;
DataService.getMyData().then(function successCallback(response)
{
$scope.data = response.data.results;
$scope.grpOpen.length = 0;
$scope.grpOpen.push({'data': response.data.results});
},function errorCallback(response) {
});
这是获取一个组的所有成员列表的js。我已经根据你的更新了这个
$scope.open = -1;
$scope.pregroupMem = function(index,id,e){
$rootScope.membersList = '';
// $rootScope.membersList.length = 0;
$scope.loading= true;
DataService.getGrpMem(id).success(function (data) {
$rootScope.membersList = data.results;
$scope.data[index].shown = !$scope.data[index].shown;
if( $scope.open >= 0 && $scope.data[$scope.open] ){
$scope.data[$scope.open].shown = !$scope.data[$scope.open].shown;
}
if( $scope.open !== index ){
$scope.data[index].shown = !$scope.data[index].shown;
}
$scope.open = index;
}).catch(function (err) {
// Log error somehow.
})
.finally(function () {
// Hide loading spinner whether our call succeeded or failed.
$scope.loading = false;
});
}
<ul>
<li ng-repeat="groupsw in grpOpen[0].data track by $index">
<a ng-click="pregroupMem($index,groupsw.grpId,$event)" class="custom-cn" href="javascript:;">{{ groupsw.grpName }}</a>
<div class="listdiv">
<ul class="userlist">
<li ng-repeat="mymembers in membersList">
<a class="add_user" href="javascript:;"><i class="fa fa-user-plus"></i></a>
<div class="userlist">
<span class="usnermalissval" ng-if="mymembers.Name != null">{{mymembers.Name}}</span>
</div>
</li>
</ul>
</div>
</li>
</ul>
【问题讨论】:
-
你能包含它的javascript代码吗?
-
不清楚您要在此处切换什么。你能清楚地描述你试图显示/隐藏哪些 HTML 元素吗?
-
有锚标签,其类为“custom-cn”。单击此锚标记时,我需要在锚标记之后显示具有类“listdiv”的隐藏 div。在此 js 函数中,我想添加切换脚本。
-
您在此处的评论并没有真正阐明您要完成的工作。你的锚标签正在调用一个加载数据的角度函数,它根本没有切换任何东西。您应该开始研究
ng-show/ng-hide,然后创建另一个属性来设置true/false以供其中一个使用。 -
我已经添加了javascript。
标签: javascript angularjs toggle ng-repeat