私はangularjsで働いています。私はng-repeat
でdivをトグルする必要がありますが、うまく動作しません。 jQueryのクリックもこれで動作していません。 pregroupMem()
アンカータグをクリックすると、私はこの関数を呼び出しています。データIDはこの関数から来て、listdiv
divにはmembersList
としています。 "custom-cn"アンカータグのクリックでこのdivを切り替える必要があります。複数のリストがあり、これらのリストのそれぞれには複数のlistdivs
があります。私はリストのアンカータグのクリックに特定のdivを切り替える必要があります。Angularjs ng-repeatで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) {
});
これはあなたが次のようにそれを行うことができます
$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コードを挿入できますか? – vincentluth
あなたがここでトグルしようとしていることは明確ではありません。どのHTML要素を表示/非表示にするかを明確に記述できますか? –
クラス「custom-cn」を持つアンカータグがあります。このアンカータグをクリックすると、anchorタグの後にクラス "listdiv"を持つhide divを表示する必要があります。このjs関数では、トグルスクリプトを追加します。 –