我尝试在表格中隐藏一些td,当用户点击按钮显示它们时。
起初
<?php
$riskCounter=0;
?>
然后
<tr class ="headMit<?php echo $riskCounter ?>">
<th colspan="6">Title</th>
</tr>
<?php foreach ($actions as $action)
{ ?>
<tr class="body" class ="bodyMit<?php echo $riskCounter ?>">
<td colspan="6" style="border: 1px solid #b4b4b4;" height="40px">
<?php echo nl2br($action->description); ?>
</td>
</tr>
<?php
} ?>
之后
<script>
$('.bodyMit'+<?=$riskCounter ?>).hide();
$('.headMit'+<?=$riskCounter ?>).hide();
</script>
在某个地方按钮:
<input type="button" class="niceButton" onclick="showMitAct('<?php echo $riskCounter ?>')" value="Show/hide" />
在另一个包含所有代码的foreach
的末尾(还有更多代码,但我的其余代码在这个问题中并不重要)。
<?php
$riskCounter++;
?>
显示/隐藏功能:
function showMitAct(id) {
if($(".headMit"+id).is(':hidden'))
{
$(".headMit"+id).show();
$(".bodyMit"+id).show();
}
else
{
$(".headMit"+id).hide();
$(".bodyMit"+id).hide();
}
}
好的,有一个问题。当我点击该按钮时,td
class=headMit(...)
隐藏并正确显示,但class=bodyMit(...)
的td始终显示。
在我id
代替class
之前,隐藏/显示工作正常,但仅适用于bodyMit
之一。而且很清楚......一个元素可能有一个id,但是类可以绑定到很多元素......
请告诉我我做错了什么或我可以在哪里搜索错误。
答案 0 :(得分:1)
我不会尝试你的命题,但感谢你的回答。
问题是,我使用了两次属性类。当我在名字上改变它时,一切都很好。
答案 1 :(得分:0)
建议您使用MLS ID,但该类也可以。
您可以执行以下操作:
<tr class="body" class ="bodyMit<?php echo $riskCounter ?>" onClick:"ocultarTr('bodyMit<?php echo $riskCounter ?>'")>
功能javascript:
function ocultarTr(idTr){
$('.'+idTr).hide();
}