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

发布时间 - 2026-01-10 22:30:14    点击率:

本文实例讲述了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相关内容感兴趣的读者可查看本站专题:《jQuery表格(table)操作技巧汇总》、《jQuery切换特效与技巧总结》、《jQuery扩展技巧总结》、《jQuery常用插件及用法总结》、《jQuery拖拽特效与技巧总结》、《jquery中Ajax用法总结》、《jQuery常见经典特效汇总》、《jQuery动画与特效用法总结》及《jquery选择器用法总结》

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


# jQuery  # 动态生成  # 表格  # 右键菜单  # jQuery动态生成不规则表格(前后端)  # JQuery 动态生成Table表格实例代码  # jQuery动态生成Bootstrap表格  # JQuery Ajax动态生成Table表格  # Jquery 动态生成表格示例代码  # jQuery实现多按钮单击变色  # 用JQuery实现表格隔行变色和突出显示当前行的代码  # jQuery代码实现表格中点击相应行变色功能  # jQuery轻松实现表格的隔行变色和点击行变色的实例代码  # jQuery插件实现表格隔行变色及鼠标滑过高亮显示效果代码  # jquery实现表格中点击相应行变色功能效果【实例代码】  # jQuery实现表格隔行及滑动  # 点击时变色的方法【测试可用】  # jQuery实现动态生成表格并为行绑定单击变色动作的方法  # 的是  # 相关内容  # 鼠标  # 感兴趣  # 给大家  # 按下  # 更多关于  # 所述  # 绑定  # 程序设计  # 无标题  # 拖拽  # 操作技巧  # 移出  # 选择器  # 讲述了  # zhuban  # txtZhuban  # getElementById 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel如何生成和使用数据填充?(Seeder和Factory示例)  Win11搜索栏无法输入_解决Win11开始菜单搜索没反应问题【技巧】  无锡营销型网站制作公司,无锡网选车牌流程?  如何在云主机快速搭建网站站点?  javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】  Android仿QQ列表左滑删除操作  手机网站制作与建设方案,手机网站如何建设?  Laravel如何与Inertia.js和Vue/React构建现代单页应用  LinuxCD持续部署教程_自动发布与回滚机制  网站制作大概要多少钱一个,做一个平台网站大概多少钱?  打造顶配客厅影院,这份100寸电视推荐名单请查收  Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】  如何快速生成专业多端适配建站电话?  如何用低价快速搭建高质量网站?  javascript中闭包概念与用法深入理解  使用PHP下载CSS文件中的所有图片【几行代码即可实现】  瓜子二手车官方网站在线入口 瓜子二手车网页版官网通道入口  Laravel如何使用Collections进行数据处理?(实用方法示例)  Swift中循环语句中的转移语句 break 和 continue  微信公众帐号开发教程之图文消息全攻略  详解Android——蓝牙技术 带你实现终端间数据传输  如何构建满足综合性能需求的优质建站方案?  如何在腾讯云免费申请建站?  laravel怎么为API路由添加签名中间件保护_laravel API路由签名中间件保护方法  南京网站制作费用,南京远驱官方网站?  Laravel怎么实现模型属性的自动加密  ChatGPT 4.0官网入口地址 ChatGPT在线体验官网  活动邀请函制作网站有哪些,活动邀请函文案?  Laravel路由Route怎么设置_Laravel基础路由定义与参数传递规则【详解】  Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验  高端云建站费用究竟需要多少预算?  如何在 Go 中优雅地映射具有动态字段的 JSON 对象到结构体  如何在建站宝盒中设置产品搜索功能?  如何在浏览器中启用Flash_2025年继续使用Flash Player的方法【过时】  Win11怎么修改DNS服务器 Win11设置DNS加速网络【指南】  javascript中数组(Array)对象和字符串(String)对象的常用方法总结  Laravel怎么实现支付功能_Laravel集成支付宝微信支付  为什么php本地部署后css不生效_静态资源加载失败修复技巧【技巧】  奇安信“盘古石”团队突破 iOS 26.1 提权  网站制作大概多少钱一个,做一个平台网站大概多少钱?  Python制作简易注册登录系统  Linux系统运维自动化项目教程_Ansible批量管理实战  实现点击下箭头变上箭头来回切换的两种方法【推荐】  微信h5制作网站有哪些,免费微信H5页面制作工具?  如何挑选最适合建站的高性能VPS主机?  Python并发异常传播_错误处理解析【教程】  Laravel Facade的原理是什么_深入理解Laravel门面及其工作机制  高端智能建站公司优选:品牌定制与SEO优化一站式服务  php做exe能调用系统命令吗_执行cmd指令实现方式【详解】  Win11摄像头无法使用怎么办_Win11相机隐私权限开启教程【详解】