jQuery动态生成表格及右键菜单功能示例


Posted in Javascript onJanuary 13, 2017

本文实例讲述了jQuery动态生成表格及右键菜单功能。分享给大家供大家参考,具体如下:

这里用的是 jquery 1.4.1 的库文件,具体代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title>无标题页</title>
  <script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script>
  <script type="text/javascript">
    var id = 0;
    function addInfo() {
      var cpu = document.getElementById("txtCpu");
      var zhuban = document.getElementById("txtZhuban");
      var neicun = document.getElementById("txtNeicun");
      var yingpan = document.getElementById("txtYingpan");
      var tb = document.getElementById("tbAdd");
      //alert("数据插入成功!");
      var tr = tb.insertRow();
      var td0 = tr.insertCell();
      td0.innerHTML = id;
      var td1 = tr.insertCell();
      td1.innerHTML = cpu.value;
      var td2 = tr.insertCell();
      td2.innerHTML = zhuban.value;
      var td3 = tr.insertCell();
      td3.innerHTML = neicun.value;
      var td4 = tr.insertCell();
      td4.innerHTML = yingpan.value;
      id++;
      $("#tbAdd").append(tr);
    }
    $(function () {
      var clickedTrIndex = -1;
      $("#addForm>input[type=button]")
        .live("click", function () {
          $("#tbAdd tr:has(td):even").css("background", "#ebebeb");
        });
      //绑定鼠标移入移出事件到表格的行
      $("#tbAdd tr:has(td)")
        .live("mouseover", function () {
          $(this).css("cursor", "pointer").css("background", "#bcc7d8");
        })
        .live("mouseleave", function () {
          var trIndex = $(this).index();
          if (trIndex % 2 == 0) {
            $(this).css("background", "#ebebeb");
          }
          else {
            $(this).css("background", "");
          }
        })
        .live("mousedown", function (event) {
          if (event.button == 2) {
            x = event.clientX;
            y = event.clientY;
            $("#contextMenu").css("display", "block").css("left", x).css("top", y);
            clickedTrIndex = $(this).index();
          }
        });
      $("#contextMenu")
        .mouseover(function () {
          $(this).css("cursor", "pointer");
        });
      $("body")
        .live("mouseup", function (event) {
          if (event.button == 0) {
            $("#contextMenu").css("display", "none");
          }
        });
      $("#contextMenu li")
        .mouseover(function () {
          $(this).css("background", "#C1D7EE");
        })
        .mouseout(function () {
          $(this).css("background", "");
        })
        .click(function () {
          var deleteStr = $(this).children("a").attr("title");
          if (deleteStr == "delete") {
            $("#tbAdd tr:has(td):eq(" + clickedTrIndex + ")").remove();
          }
          else {
            alert("按下了:" + deleteStr);
          }
        });
    });
  </script>
  <style type="text/css">
    #tbAdd{ 
    }
    #tbAdd tr td{ height:30px;
           text-align:center;
    }
    #tbAdd thead tr th{ width:90px;
              height:30px;
              text-align:center;
    }
    #addForm input[type=text]{ margin-bottom:8px;
                  width:150px;
    }
    #contextMenu{ width:150px;
           padding:5px 0px 5px 5px;
           line-height:24px;
           background-color:#F0F0F0;
           position:absolute;
           display:none;
    }
    #contextMenu ul{ margin:0px;
    }
    #contextMenu li{ margin:0px;
             margin-left:-15px;
             float:left;
             width:100%;
             list-style-type:none;
    }
    #contextMenu li a{ text-decoration:none;
              padding:5px 0px 5px 12px;
              display:block;
              color:#282828;
    }
  </style>
</head>
<body onContextmenu="return false;">
<div>
  <table id="tbAdd" cellpadding="0" cellspacing="0" border="1" style="border-collapse:collapse;">
    <thead>
      <tr>
        <th>编号</th><th>CPU</th><th>主板</th><th>内存</th><th>硬盘</th>
      </tr>
    </thead>
  </table>
  <br />
  <div id="addForm">
    <span>CPU:</span><input type="text" id="txtCpu" /><br />
    <span>主板:</span><input type="text" id="txtZhuban" /><br />
    <span>内存:</span><input type="text" id="txtNeicun" /><br />
    <span>硬盘:</span><input type="text" id="txtYingpan" /><br />
    <input type="button" value="添加信息" onclick="addInfo()" /><br />
  </div>
  <div id="contextMenu">
    <ul>
      <li><a href="#" title="add">添加信息</a></li>
      <li><a href="#" title="delete">删除信息</a></li>
      <li><a href="#" title="modify">修改信息</a></li>
      <li><a href="#" title="save">保存信息</a></li>
    </ul>
  </div>
</div>
</body>
</html>

希望本文所述对大家jQuery程序设计有所帮助。

Javascript 相关文章推荐
js静态作用域的功能。
Dec 25 Javascript
jQuery打字效果实现方法(附demo源码下载)
Dec 18 Javascript
JS基于构造函数实现的菜单滑动显隐效果【测试可用】
Jun 21 Javascript
jQuery中fadein与fadeout方法用法示例
Sep 16 Javascript
vue2.0开发实践总结之入门篇
Dec 06 Javascript
Vue.js简易安装和快速入门(第二课)
Oct 17 Javascript
vue嵌套路由与404重定向实现方法分析
May 04 Javascript
详解Vue CLI3 多页应用实践和源码设计
Aug 30 Javascript
vscode中eslint插件的配置(prettier配置无效)
Sep 10 Javascript
VUE 动态组件的应用案例分析
Dec 02 Javascript
js实现html滑动图片拼图验证
Jun 24 Javascript
vue 数据双向绑定的实现方法
Mar 04 Vue.js
Vue数据驱动模拟实现5
Jan 13 #Javascript
利用HTML5+Socket.io实现摇一摇控制PC端歌曲切换
Jan 13 #Javascript
使用jQuery的ajax方法向服务器发出get和post请求的方法
Jan 13 #Javascript
jquery,js简单实现类似Angular.js双向绑定
Jan 13 #Javascript
jQuery实现的简单排序功能示例【冒泡排序】
Jan 13 #Javascript
js实现淡入淡出轮播切换功能
Jan 13 #Javascript
js仿百度音乐全选操作
Jan 13 #Javascript
You might like
PHP5 安装方法
2006/10/09 PHP
PHP读取PDF内容配合Xpdf的使用
2012/11/24 PHP
PHP答题类应用接口实例
2015/02/09 PHP
PHP基于cookie与session统计网站访问量并输出显示的方法
2016/01/15 PHP
PHP迭代器接口Iterator用法分析
2017/12/28 PHP
js中的referrer返回上一页使用介绍
2013/09/26 Javascript
js日期、星座的级联显示代码
2014/01/23 Javascript
8个实用的jQuery技巧
2014/03/04 Javascript
js实现网页抽奖实例
2015/08/05 Javascript
JQuery 在文档中查找指定name的元素并移除的实现方法
2016/05/19 Javascript
Java  Spring 事务回滚详解
2016/10/17 Javascript
详解在 Angular 项目中添加 clean-blog 模板
2017/07/04 Javascript
vue-resource 拦截器(interceptor)的使用详解
2017/07/04 Javascript
详解如何实现一个简单的Node.js脚手架
2017/12/04 Javascript
H5+C3+JS实现五子棋游戏(AI篇)
2020/05/28 Javascript
Python使用Flask框架同时上传多个文件的方法
2015/03/21 Python
python对json的相关操作实例详解
2017/01/04 Python
解决Python pandas df 写入excel 出现的问题
2018/07/04 Python
Python3批量生成带logo的二维码方法
2019/06/24 Python
使用SimpleITK读取和保存NIfTI/DICOM文件实例
2020/07/01 Python
如何解决pycharm调试报错的问题
2020/08/06 Python
HTML5在canvas中绘制复杂形状附效果截图
2014/06/23 HTML / CSS
英国优质鞋类专家:Robinson’s Shoes
2017/12/08 全球购物
大学生农村教师实习自我鉴定
2013/09/21 职场文书
资深生产主管自我评价
2013/09/22 职场文书
酒店总经理欢迎词
2014/01/08 职场文书
集团公司党的群众路线教育实践活动工作总结
2014/03/03 职场文书
环保志愿者活动方案
2014/08/14 职场文书
美德少年事迹材料1000字
2014/08/21 职场文书
学生会竞选演讲稿纪检部
2014/08/25 职场文书
综合实践活动报告
2015/02/05 职场文书
地震慰问信
2015/02/14 职场文书
大学毕业论文致谢词
2015/05/14 职场文书
2019商业计划书格式、范文
2019/04/24 职场文书
Java各种比较对象的方式的对比总结
2021/06/20 Java/Android
Java如何实现通过键盘输入一个数组
2022/02/15 Java/Android