我有一个包含一些隐藏列的表格,我需要在用户点击按钮时显示这些列。然后,当在页面上的其他位置单击时,该表将被提供其他数据。所以基本上我有一张桌子可以在以后填充。
我已经设法使用jQuery的切换来完成这项工作,但问题是新添加的行将保留原始的css属性,被隐藏。
<style>
.hidden { display: none;}
</style>
<table>
<tr>
<th>test</th>
<th class="hidden">you cannot see me</th>
</tr>
<tr>
<td>test</td>
<td class="hidden">you cannot see me</td>
</tr>
</table>
<button onclick="$('.hidden').toggle()">
<button onclick="addrow ()">
原谅任何拼写错误或语法错误。
我第一次点击按钮时会显示隐藏栏。
如果我然后单击addrow,则新添加的行具有ORIGINAL display:none,因此我将第1行展开,第2行隐藏。
如何让新行成为最后一个显示状态?
答案 0 :(得分:0)
我删除了内联JS。
我在切换按钮中添加了一个数据属性(也可以通过检查已经放置的单元格来完成,但我认为如果你想添加其他功能,这会更好。)
<强> HTML 强>
<style>
.hidden { display: none;}
</style>
<table>
<tr>
<th>test</th>
<th class="hidden">you cannot see me</th>
</tr>
<tr>
<td>test</td>
<td class="hidden">you cannot see me</td>
</tr>
</table>
<button class="toggle" data-state="off">
<button class="add-row">
<强> JS 强>
$('document').ready(function() {
$('.toggle').click(function() {
if ($(this).data('state') == 'off') {
$(this).data('state', 'on')
} else {
$(this).data('state', 'off')
}
$('.hidden').toggle();
});
$('add-row').click(function() {
// code that adds the row
if ($('.toggle').data('state') == 'on') {
$('.hidden').show();
}
});
});
答案 1 :(得分:0)
我通过在生成新行的php代码中添加一个检查来解决。 在新行单击时,如果线条应显示为隐藏或显示,则传递到帖子。在后一种情况下,我添加了一个style =“display:table-row;”到.hidden单元格,所以它们已经在桌面上显示出来了。