【发布时间】:2020-08-27 16:28:57
【问题描述】:
我正在尝试通过单击图标来展开表格中的嵌套行。最初,我是在点击下面的行时展开的。
$(function(){
$(".fold-table tr.view").on("click", function(){
$(this).toggleClass("open").next(".fold").toggleClass("open");
});
});
工作正常。现在,当我想在点击时展开时,我不知道用什么替换“this”关键字,所以它只会展开选定的行,而不是一次展开整个表格。
$(function(){
$(".expand").on("click", function(){
$(this).toggleClass("open").next(".fold").toggleClass("open");
});
})
<body>
<table class="table fold-table parent" id="table">
<thead>
<tr>
<th scope="col">Name</th>
<th scope="col">Designation</th>
<th scope="col">Contact Details</th>
<th scope="col">Email</th>
</tr>
</thead>
<tbody>
<tr class="view">
<td col="Name">John</td>
<td col="Designation">j@g.com</td>
<td col="Contact Details">
<span class="contactInfo">
<img class="contact mr-2" src="./assets/call.png" />35373726<br>
<img class="contact mr-2" src="./assets/call.png" />35373726
</span>
</td>
<td col="Email">John@g.com<img class="expand ml-2" src="arrow.png" /></td>
</tr>
<tr class="fold">
<td colspan="4">
<div class="fold-content">
<table class="child">
<tbody>
<tr>
<td col="Name">SUB Category 1</td>
<td col="Designation">SUB Category 2</td>
<td col="Contact Details">SUB Category 3</td>
<td col="Email">John@g.com
</td>
</tr>
<tr>
<td col="Name">SUB Category 1</td>
<td col="Designation">SUB Category 2</td>
<td col="Contact Details">SUB Category 3</td>
<td col="Email">John@g.com
</td>
</tr>
<tr>
<td col="Name">SUB Category 1</td>
<td col="Designation">SUB Category 2</td>
<td col="Contact Details">SUB Category 3</td>
<td col="Email">John@g.com
</td>
</tr>
</tbody>
</table>
</div>
</td>
</tr>
<tbody>
</table>
</body>
.expand {
cursor: pointer;
}
table.fold-table > tbody > tr.fold {
display: none;
}
table.fold-table > tbody > tr.fold.open {
display: table-row;
}
为了演示,我只在父表中添加了一行,在子表中添加了三行。我怎样才能让这个扩展的东西工作?
您的帮助将不胜感激。
谢谢:)
【问题讨论】:
-
您能否在示例中添加另一行或 2 行,以便我们了解其结构,以便我们知道如何选择正确的行?