`

table 下拉详细信息

 
阅读更多
<html>
<head>
<title>JS内嵌表格</title>
<script type="text/javascript">
var gseq=1;
var gLastDetailImgObj=null;
//显示详细信息
function showDetailNumTable(){
var innerTR = "<table border=\"1\" align='center' width='100%'><tr style=\"background:gray;\"><td>inner11</td><td>inner12</td><td>inner13</td><td>inner14</td><td>inner15</td></tr><tr><td>inner21</td><td>inner22</td><td>inner23</td><td>inner24</td><td>inner25</td></tr><tr><td>inner31</td><td>inner32</td><td>inner33</td><td>inner34</td><td>inner35</td></tr><tr><td>inner41</td><td>inner42</td><td>inner43</td><td>inner44</td><td>inner45</td></tr></table>";
var imgObj=event.srcElement;
var tr=getOuterObj(imgObj,'TR'); // 得到tr对象
var newDivId=null;
if(!tr.newDivId){
   var newTr=document.createElement("<TR></TR>"); // 创建tr
   var newTd=document.createElement("td"); // 创建td
   newTd.colspan=tr.children.length;
  
   newDivId='detaildiv'+(gseq++); // 每一行内嵌的divID,每一行的ID都不同
   var newDiv=document.createElement("<div id='"+newDivId+"'></div>"); // 创建div
   newTr.appendChild(newTd); // tr中添加td
   newTd.appendChild(document.createTextNode("各地区情况对比如下: "));
   newDiv.innerHTML = innerTR;   // 必须通过innerHTML方式添加内容,通过字符串拼进去的现实不出内容
   newTd.appendChild(newDiv); // td中添加div
   tr.parentNode.insertBefore(newTr,tr.nextSibling); // 必须通过tr的父节点才能用insertBefore,表示插入某个元素,这里表示在tr下个元素的前面(tr的后面)插入一行
   tr.newDivId=newDivId; // 把新生成的div的ID赋给DIV
   newTr.cells[0].colSpan= tr.children.length;
}
switchVisible(imgObj); // 控制展开还是合上内嵌表格
if(gLastDetailImgObj!=imgObj){
   switchVisible(gLastDetailImgObj);
   gLastDetailImgObj=imgObj; 
}
else{
   gLastDetailImgObj=null;
}
}
function switchVisible(imgObj){
if(!imgObj) return; // 如果imgObj对象为空,则返回
var tr=getOuterObj(imgObj,'TR');
var pvisible=('true'!=tr.currentVisibility);
tr.currentVisibility=(pvisible?'true':'false'); // pvisible为真时,tr.currentVisibility为true;pvisible为假时,tr.currentVisibility为false;
tr.nextSibling.style.display=(pvisible? '':'none'); // pvisible为真时,tr.nextSibling.style.display为'';pvisible为假时,tr.nextSibling.style.display为none;
}
//取得对象外围符合指定标签的第一个对象
function getOuterObj(obj,tagName){
while(obj!=null){
   if(obj.tagName==tagName)
    return obj;
   obj=obj.parentNode;
}
return null;
}
</script>
</head>
<body>
<table border="1" align="center" width="80%">
   <thead>
    <tr style="background:GRAY;">
     <th>姓名</th><th>年龄</th><th>电话</th><th>性别</th><th>住址</th>
    </tr>
   </thead>
   <tbody>
    <tr>
     <td>1</td><td id = "no1"><a href="#" onclick="showDetailNumTable('no1');">11111111</a></td><td>1</td><td>1</td><td>1</td>
    </tr>
    <tr>
     <td>2</td><td id = "no2"><a href="#" onclick="showDetailNumTable('no2');">22222222</a></td><td>2</td><td>2</td><td>2</td>
    </tr>
    <tr>
     <td>3</td><td id = "no3"><a href="#" onclick="showDetailNumTable('no3');">33333333</a></td><td>3</td><td>3</td><td>3</td>
    </tr>
    <tr>
     <td>4</td><td id = "no4"><a href="#" onclick="showDetailNumTable('no4');">44444444</a></td><td>4</td><td>4</td><td>4</td>
    </tr>
   </tbody>
</table>
</body>
</html>
分享到:
评论

相关推荐

    在vue中实现二级下拉表格的table组件

    在Vue.js中实现二级下拉表格的table组件是一项常见的需求,尤其在数据展示和交互复杂的Web应用中。Vue.js是一个轻量级的前端框架,它提供了丰富的指令、组件化和响应式数据绑定等功能,使得构建这样的组件变得相对...

    table的表头固定

    在网页设计中,"table的表头固定"是一种常见的需求,尤其在展示大量数据时,保持表头在页面滚动时始终可见,可以帮助用户更好地理解数据列的含义。在这个场景下,我们通常会使用HTML的`&lt;table&gt;`元素来构建表格,并...

    移动端 下拉刷新 & 上拉加载 组件

    下拉刷新 上拉加载 上拉加载 底部点击加载 下拉刷新+上拉加载 下拉刷新+上拉加载 使用requirejs 下拉刷新+上拉加载 自定义dom 下拉刷新+上拉加载 固定头部 下拉刷新+上拉加载 tab一个实例 下拉刷新+上拉加载...

    Ext下拉树、下拉表格

    3. 创建表格:使用Ext.grid.Panel或Ext.view.Table创建表格视图,并将其与数据源关联。 4. 配置下拉组合框:使用Ext.form.field.ComboBox,配置其store为表格数据模型,指定显示字段和值字段,同时设置 tpl 或者 ...

    ios应用源码之支持下拉动态加载的table view 2018128

    本文将深入探讨标题“ios应用源码之支持下拉动态加载的table view 2018128”所涉及的关键知识点,以及如何实现一个支持下拉动态加载功能的Table View。 1. **Table View基本概念**: - Table View是iOS中的UI组件...

    bootstrap-table可编辑下拉框editable js及css及bootstrap-table-editable.js以及使用实例

    Bootstrap Table 是一个基于Bootstrap框架的开源前端组件,用于创建功能丰富的、响应式的表格。它提供了很多高级特性,如排序、过滤、分页、列切换等。在本话题中,我们聚焦于Bootstrap Table的一个扩展功能——可...

    下框组件下拉选择面板为多列Grid的实现

    "下框组件下拉选择面板为多列Grid的实现"是一个高级的UI设计,它扩展了传统下拉框的功能,使得在有限的屏幕空间内展示更多信息成为可能。这个组件尤其适用于数据密集型应用,如表格数据管理或配置设置,它能帮助用户...

    Qt简单方法实现下拉列表菜单

    下面将详细介绍如何实现这样的功能。 首先,我们需要理解`QPushButton`是Qt提供的一种基本控件,用于创建带有文本或图标的按钮。`QWidget`是所有用户界面对象的基类,可以作为容器来承载其他控件,如菜单项。 要...

    bootstrap-select下拉复选框.rar

    这个插件是用jQuery构建的,因此可以很好地与其他jQuery库和Bootstrap组件集成,简化了网页中的下拉菜单设计。 在HTML5中,`&lt;select&gt;`元素用于创建一个下拉列表,但原生的HTML5并没有提供多选和自定义样式的功能。...

    bootstrap table 表格中增加下拉菜单末行出现滚动条的快速解决方法

    通过以上 CSS 调整,我们可以有效地解决 Bootstrap Table 在末行显示下拉菜单时滚动条遮挡的问题,同时保持工具栏的正常显示。不过,需要注意的是,直接修改库的默认样式可能会导致其他地方的样式异常,因此建议将...

    bootstrapTable 自定义可编辑每页显示的记录数

    引用在table.js后面,把原来的下拉选择每页数量变为输入框输入

    IOS应用源码——支持下拉动态加载的table view.zip

    本资源"IOS应用源码——支持下拉动态加载的table view.zip"提供了一个实现了下拉动态加载功能的Table View控制器示例,这对于构建无限滚动或者分页加载的应用来说至关重要。下面将详细介绍这个示例中的关键知识点。 ...

    Js实现表格头部第一行下拉固定

    本文将详细介绍如何使用JavaScript实现这一功能。 首先,理解这个需求的基本思路:创建一个独立的表头区域,当表格内容区域滚动时,这个表头区域的位置和样式需要实时调整以保持在屏幕顶部。这涉及到JavaScript的...

    在PB中巧用下拉数据窗口

    ### 在PB中巧用下拉数据窗口:详细解析与实践应用 #### 一、引言 在PowerBuilder(简称PB)开发中,提高用户界面的友好性和数据录入的准确性是至关重要的。为了达到这一目的,PB提供了一种非常实用的功能——下拉...

    table动态增加删除行列

    使用javascript实现table动态增加删除行列。

    bootstrap_下拉框筛选

    Bootstrap Select是用于扩展Bootstrap原始下拉组件的插件,增加了筛选和自定义样式的功能。 首先,`bootstrap-select.css` 和 `bootstrap-select.min.css` 是Bootstrap Select的样式文件,包含了下拉框筛选的样式...

    2个做CSS导航栏,下拉菜单的工具

    以下将详细介绍如何使用CSS创建导航栏和下拉菜单,并介绍提供的两个工具。 1. CSS导航栏: 导航栏是网站顶部或侧边的一系列链接,帮助用户快速访问网站的主要部分。通常,导航栏由多个导航项组成,每个导航项都...

    LayUi组件TableSelect

    在LayUI中,TableSelect是一个强大的组件,它结合了表格与下拉选择框的功能,提供了更丰富的交互体验。这个组件在JavaScript开发中特别适用于处理数据表中的选择操作,尤其是在需要对多选数据进行管理的场景下。 ...

    2015 iOS TableView上拉加载下拉刷新

    本教程将深入探讨如何在2015年的iOS项目中实现TableView的上拉加载和下拉刷新功能,这对于任何iOS开发者来说都是必备技能,尤其适合初学者。 一、下拉刷新(Pull-to-Refresh) 下拉刷新是一种常见的用户界面设计,...

    IOS开发 Table上下拉动刷新(表头下拉,表尾上拉)

    "IOS开发 Table上下拉动刷新(表头下拉,表尾上拉)"这个主题涉及到`UITableView`的扩展功能,即下拉刷新和上拉加载更多。这两种功能极大地提升了用户体验,让用户能够即时获取到最新的数据。 **下拉刷新(Pull-to-...

Global site tag (gtag.js) - Google Analytics