【问题标题】:Expandable table view in HTMLHTML 中的可扩展表格视图
【发布时间】:2016-02-23 17:37:00
【问题描述】:

我正在构建一个从数据库中获取并显示数据的动态表,表的结构如下所示

<table class="table" id="report">
  <thead>
    <tr>
      <th>Title</th>
      <th>Skill</th>
      <th>Area</th>
    </tr>
  </thead>

  <tbody>
    <?
      $sql="SELECT * from tablename ";
      $result= mysqli_query($con, $sql);
      if(mysqli_num_rows($result)>0) {
        while($row = mysqli_fetch_assoc($result)) {
          <tr>
            <td><? echo $title; ?></td>
            <td><? echo $skill; ?></td>
            <td><? echo $area; ?></td>
          </tr>
        }
      }
  </tbody>
</table>

我希望当用户点击标题时,视图应该展开,然后在另一次点击时它应该折叠。

我在jsfiddle 中构建了一个静态表,它工作正常,但是当我尝试将代码与上面的表合并时,它不起作用。谁能告诉我哪里出错了?

【问题讨论】:

  • 你能告诉我们不使用 PHP 生成的 HTML 吗?
  • 顺便说一句,您的原始代码可以简化:jsfiddle.net/DelightedDoD/pyq67q33/1
  • 另外,值得注意的是,Datatables plugin 具有开箱即用的此功能并且做得很好,如果您能够/愿意使用插件

标签: javascript jquery html ajax expandable-table


【解决方案1】:

试试这个JS Fiddle,希望它会起作用,我在td 中添加了虚拟文本,然后单击td 来切换子div .hidden 的可见性

$(document).ready(function () {
    $('.expandable').on('click', function(){
    	$(this).children('.hidden').toggle();
    });
});
.hidden {
    display:none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<table id="report" border="1" style="width:100%" >
    <tr>
        <th> First </th>
        <th> Second </th>
        <th> Third </th>
    </tr>

    <tr>
         <td class="expandable">1st title
            <div class="hidden">dummy text 1
                <br>dummy text 1
                <br>dummy text 1
                <br>
            </div>
        </td>
         <td>1</td>
         <td>1</td>
    </tr> 
    <tr>
         <td class="expandable">2st title
            <div class="hidden">dummy text 2
                <br>dummy text 2
                <br>dummy text 2
                <br>
            </div>
        </td>
         <td>2</td>
         <td>2</td>
    </tr>
</table>

【讨论】:

  • 我试过你的代码,但它不能与我的代码一起工作,可能是因为表结构的不同。你能用我正在使用的表结构试一次吗
  • 当然你需要重新构建表格,嗯你的意思是你必须考虑在自己的行中隐藏隐藏的虚拟文本?
  • 隐藏的文本似乎没问题,但如果你注意到我专门使用了 thead 和 tbody 标签,这只是我能够 c 的唯一区别,其余我已经完成了与你相同的操作代码,
  • @samuel,我已经更新了答案和小提琴jsfiddle.net/Mi_Creativity/p4oo0nr3/1
猜你喜欢
  • 2016-11-24
  • 2017-02-16
  • 1970-01-01
  • 2020-12-27
  • 1970-01-01
  • 2012-05-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多