通常の PHP ループによって生成されたテーブルがあります。私がやりたいのは、デフォルトでは非表示になっている各行の最初の列に、その行のトグル リンクをクリックすると表示されるフォームを作成することです。
hidden と setting という CSS id を作成することで、通常のトグル可能な div を作成できますdisplay: none;
。残念ながらid=hidden
、前のリンクに自動的に関連付けられる div を作成し続けることはできません。
私は Javascript と CSS の両方にかなり慣れていないので、ほとんどの場合、例をまとめてパッチを当ててこれを実行しようとしましたが、空になってしまいました。テーブル内に div を配置することはできないといくつかの場所で読んだので、これについてはすべて間違っているかもしれません。
これは、コードが何をするか、どのように機能するかの例ですが、もちろんそうではありません。
<script language="JavaScript" type="text/javascript">
function toggle(id) {
var state = document.getElementById(id).style.display;
if (state == 'block') {
document.getElementById(id).style.display = 'none';
} else {
document.getElementById(id).style.display = 'block';
}
}
</script>
<?php
while($array = mysql_fetch_array($sql))
{
?>
<tr>
<td>
<?php
echo $array['some_data'];
?>
<a href="#" onclick="toggle('hidden');">Toggle</a>
<div id="hidden"><?php echo $array['hidden_thing']; ?></div>
</td>
<td>
<?php echo $array['some_other_data']; ?>
</td>
</tr>
<?php
}
?>