`

jquery框架动态的修改table

阅读更多
不多说费话直接进入主题。。。。。
table.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
  <title></title>
  <link type="text/css" rel="stylesheet" href="css/table.css"/>
  <script type="text/javascript" src="js/jquery.js"></script>
  <script type="text/javascript" src="js/table.js"></script> 
</head>
<body>

     <table>
         <thead>
             <tr> <th colspan="2"> 信息栏 </th></tr>
         </thead>
         <tbody>
               <tr>   <td> id </td>
                      <td> 标题 </td>
               </tr>
                 <tr>
                       <th > 1</th>
                       <th> rrrr</th>
                 </tr>
                <tr>
                       <th >2</th>
                       <th> eeee</th>
                 </tr>
             <tr>
                       <th > 3</th>
                       <th> nnnn</th>
                 </tr>
             <tr>
                       <th > 4</th>
                       <th> cccc</th>
                 </tr>
             <tr>
                       <th > 5</th>
                       <th> hhhh</th>
                 </tr>
         </tbody>
     </table>

</body>
</html>


table.css
table{
    border:1px solid black;
    border-collapse:collapse;
    width:500px;
}
 table th{
     border:1px solid black;
     text-align:center;
     width:50%;
 }
 table td{
     border:1px solid black;
     text-align:center;
     width:50%;
 }

  thead tr{
      background-color:red; 
  }
 tbody td{
     background-color:dimgray;
}


table.js【动态表格的关键部分】

 $(function(){
   //tbody中tr为奇数的背景颜色为darkgray
   $("tbody tr:odd").css("backgroundColor","darkgray");
   //为tbody中th为偶数创建单击事件  
   $("tbody th:even").click(function(){
       //当前单击为偶数th对象
       var thObj=$(this);
       //如果当前对象中包含子结点input不创建
       if(thObj.children("input").length>0){
           return false;
       }
       //创建input对象
       var  inputObj=$("<input type='text'/>");
       //把thObj中的内容赋值给text变量
       var text=thObj.html();
        //清空thObj对象中的内容
       thObj.html("");
       //设置input对象中的样式与thObj对象一样
       //后面把input对象增加到thObj父结点中
       inputObj.css("borderWidth","0")
               .width(thObj.width())
               .height(thObj.height())
               .css("backgroundColor",thObj.css("backgroundColor"))
               .val(text)
               .appendTo(thObj);
       //全选input中的内容
      // inputObj.select(); 或 二种实现支持所有的浏览器
       inputObj.trigger("focus").trigger("select");
       //取消input中的单击事件
      /* inputObj.click(function(){
          return false;
       });*/
       //如果是如果按ENTER就修改,ESC就取消
       inputObj.keyup(function(event){
            var keycode=event.which;
             if(keycode==13){
                 if(inputObj.val()!='100'){
                       thObj.html(inputObj.val());
                         }else{
                         alert("not 100 error");
                       }
             }
             if(keycode==27){

                  thObj.html(text);
             }
         });
     });

   /*---------------------------------------------------------------------*/
      //为tbody中th为奇数创建单击事件
   $("tbody th:odd").click(function(){
       //当前单击为奇数th对象
       var thObj=$(this);
       //如果当前对象中包含子结点input不创建
       if(thObj.children("input").length>0){
           return false;
       }
       //创建input对象
       var  inputObj=$("<input type='text'/>");
       //把thObj中的内容赋值给text变量
       var text=thObj.html();
        //清空thObj对象中的内容
       thObj.html("");
       //设置input对象中的样式与thObj对象样式一样
       //后面把input对象增加到thObj父结点中
       inputObj.css("borderWidth","0")
               .width(thObj.width())
               .height(thObj.height())
               .css("backgroundColor",thObj.css("backgroundColor"))
               .val(text)
               .appendTo(thObj);
       //全选input中的内容
      // inputObj.select(); 或 二种实现支持所有的浏览器
       inputObj.trigger("focus").trigger("select");
       //取消input中的单击事件
      /* inputObj.click(function(){
          return false;
       });*/
       //如果是如果按ENTER就修改,ESC就取消
       inputObj.keyup(function(event){
            var keycode=event.which;
             if(keycode==13){
             thObj.html(inputObj.val());
             }
             if(keycode==27){
              thObj.html(text);
             }
         });
     });
     
 });


分享到:
评论

相关推荐

    jquery 排序, jquery 动态修改列

    本文将深入探讨“jQuery排序”和“jQuery动态修改列”这两个主题,帮助开发者更好地理解和应用jQuery。 首先,让我们来看看“jQuery排序”。在网页开发中,我们经常需要对数据进行排序,例如表格中的行或列表项。...

    JQuery+BootStrap+BootStrapTable.rar

    在实际开发中,jQuery用于处理页面的动态交互,BootStrap提供美观的UI组件,而BootStrapTable则能够高效地展示和管理大量的表格数据。这三个技术的结合,是当前Web开发中的常见组合,对于提升开发效率和创建高质量...

    甘特图前端jquery框架

    在前端开发中,利用jQuery框架来实现甘特图可以提供用户友好的交互性和动态更新的功能。jQuery是一个轻量级、高性能的JavaScript库,简化了DOM操作、事件处理和动画设计。 在"甘特图前端jquery框架"中,主要涉及...

    基于jQuery框架的DataTable组件设计与开发.pdf

    本文主要论述了基于 jQuery 框架的 DataTable 组件设计与开发,旨在解决现有的 DataTable 表格插件中表头项基本在代码中固定,灵活性、可修改性较差的问题。通过设计一个通用的表格插件功能方法,实现当用户业务需求...

    js实时修改table数据

    在JavaScript编程中,实时修改表格(Table)数据是一项常见的需求,特别是在动态网页应用中。这里我们将深入探讨如何使用JavaScript,结合Ajax和JSON技术,来实现这一功能。 首先,我们需要了解HTML表格的基本结构...

    jQuery获取table下某一行某一列的值实现代码

    这些技术可以应用在各种网页上动态处理表格数据的场景中,例如数据展示、编辑以及与其他前端框架或库集成时的数据显示等。掌握这些知识点对于前端开发人员来说十分重要,有助于提升处理动态内容的能力。

    bootstrap和jQuery做带分页跳转的表格实例

    在实现分页功能时,jQuery 可以方便地获取和修改页面元素,以及处理用户交互。 3. **分页功能**:在大数据量的表格中,分页是必不可少的,它可以帮助用户更有效地浏览和管理数据。在本实例中,可能是通过 AJAX 请求...

    tableExport.jquery.plugin-master

    5. **扩展性**:tableExport.jquery.plugin-master允许扩展,可以通过编写额外的插件或者修改源码来添加新的导出格式或者优化现有功能。 在压缩包"tableExport.jquery.plugin-master"中,通常会包含以下文件和目录...

    bootstrap table 分页栏修改

    Bootstrap Table是一种基于HTML5和Bootstrap框架的开源JavaScript插件,用于创建功能丰富的表格。它提供了数据的排序、筛选、分页等功能,使网页中的数据展示更加灵活和互动。在本项目中,我们关注的是如何自定义...

    jquery table crud

    以下是一个简单的jQuery CRUD实现框架: 1. **创建(Create)**:当用户填写表格并点击“添加”按钮时,收集数据并发送Ajax请求到服务器,将新数据保存到数据库。例如: ```javascript $("#addButton").on("click", ...

    JQuery实现动态表格点击按钮表格增加一行

    在使用JQuery来实现动态表格增加行的场景中,主要涉及到的技术点包括: 1. DOM操作:文档对象模型(DOM)允许我们通过编程语言来操作HTML文档的结构、样式和内容。在这个例子中,DOM操作用于动态地向表格中插入新的...

    jQuery+Bootstrap表格内容修改删除编辑插件

    在IT行业中,jQuery和Bootstrap是两个非常流行的前端开发框架,它们极大地简化了网页的交互性和设计。本主题聚焦于一个特定的应用场景:使用jQuery和Bootstrap创建具有内容修改、删除和编辑功能的表格插件。 首先,...

    Bootrap table表格示例

    5. **扩展组件**:Bootstrap还提供了诸如排序、分页、筛选等功能的扩展组件,如`bootstrap-table`插件,它允许在表格中添加自定义操作按钮,实现数据的动态加载和交互。 在"Bootstrap Table表格示例"压缩包中,通常...

    jQuery fixed-table.js锁定表头Table插件特效代码.zip

    在实际开发中,你可能需要根据具体需求调整fixed-table.js插件的一些配置,例如设置固定列的数量、自定义滚动效果或者与其他UI框架(如Bootstrap)集成。要实现这些自定义,你可以查阅插件的API文档或源代码,寻找...

    jquery组件框架案例

    在“jquerytest”中,通过查看和修改提供的代码,你可以更好地理解如何将这些组件整合到自己的项目中。不断实验和实践,将使你更深入地掌握jQuery EasyUI的精髓,从而构建出更加高效的Web应用。

    jquery 操作动态表格(原)

    1. **DOM操作**:jQuery提供了一整套强大的DOM(Document Object Model)操作接口,可以方便地创建、删除、修改表格元素。例如,`$('&lt;tr&gt;&lt;td&gt;新行数据&lt;/td&gt;&lt;/tr&gt;').appendTo('#tableId')`可以向指定ID的表格追加一行...

    jquery easy ui edatagrid 动态编辑表格 例子

    首先,`edatagrid`是基于jQuery和Easy UI框架的一个组件,它允许用户在表格中直接进行数据的添加、编辑和删除操作。这对于Web应用的数据管理界面特别有用,因为它减少了在后台与服务器之间的交互次数,提高了用户...

    动态更改TABLE中TD的数据

    在网页开发中,表格(TABLE)是常用的数据展示方式,而动态更新表格中的单元格(TD)数据则是常见的交互需求。这通常涉及到JavaScript或者相关的前端框架如jQuery、Vue.js、React等。本篇文章将深入探讨如何实现这个...

    jQuery动态创建表格生成器代码.zip

    3. **动态生成表格**:在jQuery中,可以通过创建`&lt;table&gt;`元素、`&lt;tr&gt;`行和`&lt;td&gt;`单元格来动态构建表格。例如,可以使用`$('&lt;table&gt;')`创建一个新表格,`$('table').append('&lt;tr&gt;')`添加一行,再用`$('tr').append('...

Global site tag (gtag.js) - Google Analytics