これは私が使用しているディレクティブです.JSONから動的に生成される名前のリストがあります。名前をクリックすると、その名前に関する詳細情報が表示されたウィンドウが表示/非表示になっています。代わりに、リスト内のすべての名前のすべてのウィンドウを表示/非表示にします。クリックするだけでウィンドウを表示/非表示にしたいNg-repeatをクリックして表示/非表示が正しく動作しない
JS:
app.directive("taskListing", function() {
return {
restrict: 'E',
templateUrl: "/templates/elements/tasklisting.html",
scope: {},
link: function(scope, element, attrs, $sce){
element.on("click", function(){
angular.element("tbody.task-tbody tr").toggleClass("hidden");
});
},
};
});
HTML:
<table class="table" ng-controller="taskController">
<tbody class="task-tbody" ng-repeat="task in tasks" ng-if="task.title != ''">
<tr >
<td>
<span class='tasks-task'>{{task.title}}</span>
</td>
</tr>
<!--This table row is toggled show/hide-->
<tr class="hidden" bgcolor="#F8F8F8" >
<td>
<strong>Description:</strong>
<p>{{task.description}}</p>
</td>
</tr>
</tbody>
</table>
htmlを提供できますか? – Rob
すべてのtr要素を切り替えます。おそらく、 "要素"変数(またはその子/親)をトグルクラスにしたいと思うかもしれません。 Angular.element!= element – Noppey
@Rob私はHTMLを追加しました – iSNSD09