有一个表格,其中包含有关在网站上创建的页面的信息。此表显示所有首页。所有带有子页面的首页都会在页面名称旁边有一个复选框,可以勾选它来查看或显示所有子页面,如果不勾选,所有子页面都将被隐藏。
它有效,但有局限性,也不完全是我希望的方式。
第一个挑战是:
勾选时控制复选框的 javascript 有一个限制。该函数应获取包含每个首页的子页面的标签的唯一 ID,这应该由一个函数处理。相反,我只能通过创建 10 个函数来处理 10 个唯一 ID 来完成它,从而限制了性能。即,如果特定首页的唯一 ID 不在创建的 javascript 函数中,它将无法工作。(如示例所示)
第二个挑战是:
我更喜欢使用超链接而不是用于指示首页具有子页面的输入复选框。
我尝试使用超链接,但它不起作用,所以我只好选择复选框。
这是代码(通过 php 动态调用 ID):
<div style="width:400px; margin:0px auto;">
<table class="table table-bordered">
<thead>
<tr>
<th width="40%">Page Title</th>
<th>Page Content</th>
</tr>
</thead>
<tbody>
<?php
$sn = 4;
$sn2 = 11;
$sn3 = 16;
?>
<tr><td><input type="checkbox" id="boxChecked<?php echo $sn; ?>" onclick="boxChecked<?php echo $sn; ?>(this.checked);" /> Page A</td><td>Content</td></tr>
<tbody id="rowChk<?php echo $sn; ?>" style="display:none;" class="subpages_bg">
<tr><td>Page A1</td><td>Content</td></tr>
<tr><td>Page A2</td><td>Content</td></tr>
<tr><td>Page A3</td><td>Content</td></tr>
<tr><td>Page A4</td><td>Content</td></tr>
</tbody>
<tr><td>Page B</td><td>Content</td></tr>
<tr><td>Page C</td><td>Content</td></tr>
<tr><td><input type="checkbox" id="boxChecked<?php echo $sn2; ?>" onclick="boxChecked<?php echo $sn2; ?>(this.checked);" /> Page D</td><td>Content</td></tr>
<tbody id="rowChk<?php echo $sn2; ?>" style="display:none;" class="subpages_bg">
<tr><td>Page D1</td><td>Content</td></tr>
<tr><td>Page D2</td><td>Content</td></tr>
<tr><td>Page D3</td><td>Content</td></tr>
<tr><td>Page D4</td><td>Content</td></tr>
</tbody>
<tr><td>Page E</td><td>Content</td></tr>
<tr><td><input type="checkbox" id="boxChecked<?php echo $sn3; ?>" onclick="boxChecked<?php echo $sn3; ?>(this.checked);" /> Page F</td><td>Content</td></tr>
<tbody id="rowChk<?php echo $sn3; ?>" style="display:none;" class="subpages_bg">
<tr><td>Page F1</td><td>Content</td></tr>
<tr><td>Page F2</td><td>Content</td></tr>
<tr><td>Page F3</td><td>Content</td></tr>
<tr><td>Page F4</td><td>Content</td></tr>
</tbody>
</tbody>
</table>
</div>
这是jsfiddle演示
请注意:上面的代码和 jsfiddle 上的演示的不同之处只是上面代码中使用的 php。
很高兴得到这方面的帮助。