【发布时间】:2017-04-08 18:35:58
【问题描述】:
我一直在尝试解决一个问题,终于明白没有帮助我不会成功......我想做一件我们每天在互联网上看到的常见事情:能够点击表格行以显示更多细节。但是这里的更多细节不是指文本块,而是与父行具有相同形状的子行。
这是一个 HTML 表格的例子:
<table class="collapse table">
<tr>
<th>Age</th>
<th>Sex</th>
<th>Name</th>
<th>From</th>
</tr>
<tr class="parent">
<td>100</td>
<td>M</td>
<td>Dodo</td>
<td>UK</td>
</tr>
<tr class="cchild">
<td>10</td>
<td>M</td>
<td>Child</td>
<td>UK</td>
</tr>
<tr class="cchild">
<td>10</td>
<td>M</td>
<td>Child</td>
<td>UK</td>
</tr>
<tr class="cchild">
<td>10</td>
<td>M</td>
<td>Child</td>
<td>UK</td>
</tr>
<tr class="parent">
<td>100</td>
<td>M</td>
<td>Dodo</td>
<td>UK</td>
</tr>
<tr class="cchild">
<td>10</td>
<td>M</td>
<td>Child</td>
<td>UK</td>
</tr>
<tr class="cchild">
<td>10</td>
<td>M</td>
<td>Child</td>
<td>UK</td>
</tr>
<tr class="cchild">
<td>10</td>
<td>M</td>
<td>Child</td>
<td>UK</td>
</tr>
孩子和父母的数量是灵活的,我想要一个具有该特性的灵活管理示例。加载页面时必须关闭子行,并且仅当用户单击父行时才展开。 如果还有可能,我想添加一个图标,指示用户可以单击一行(基本上是“+”和“-”),但不是简单的字符串,而是一个真正的图标。
我看过并关注了很多examples,但没有一个人能完美地完成这项工作,并试图修改示例......没有成功。其中大部分是基于 Datatables 的示例,我不想使用它。
你能帮帮我吗?我知道我的问题很完整,我要求完成大部分工作,但没有找到一个完整的示例来仅使用 HTML、CSS、Javascript 来做我想做的事情。
谢谢。
在 Andrei Gheorghiu 的回答之后编辑:
我希望最终能够只点击图标而不是整行,我在同一行上有其他按钮,如果我点击,它会激活子打开。所以我做了什么,等待更好的解决方案:
HTML: 将“tr”更改为特定的“td”类,并在此“td.toto”类中添加图标行。
JS:
$('table').on('click', 'td.toto', function(){
console.log("Check click works: ");
$(this).closest('tbody').toggleClass('open');
});
那么是否可以遵循您的解决方案结构,但只更改点击目标?我的意思是,通过更好的解决方案,现在只点击图标而不是整个“td”。
谢谢。
【问题讨论】:
标签: javascript jquery html css zurb-foundation