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

 更新时间:2017年01月13日 09:36:42   作者:lx_3278@126  
这篇文章主要介绍了jQuery动态生成表格及右键菜单功能,结合实例形式分析了jQuery表格的动态操作及鼠标事件响应相关技巧,需要的朋友可以参考下

本文实例讲述了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实现动态画圆代码,需要的朋友可以参考下
    2014-12-12
  • jQuery代码优化 遍历篇

    jQuery代码优化 遍历篇

    与使用选择符查找页面中的元素相对应,jQuery遍历操作背后的工作机制也很有特色
    2011-11-11
  • Jquery获取radio选中值实例总结

    Jquery获取radio选中值实例总结

    在本篇文章里小编给大家分享了关于Jquery获取radio选中值实例总结内容,有兴趣的朋友们可以学习下。
    2019-01-01
  • jquery实现的鼠标拖动排序Li或Table

    jquery实现的鼠标拖动排序Li或Table

    这篇文章主要介绍了使用jquery实现的鼠标拖动排序Li或Table,需要的朋友可以参考下
    2014-05-05
  • 谈谈jQuery Ajax用法详解

    谈谈jQuery Ajax用法详解

    jQuery 底层 AJAX 实现。简单易用的高层实现见 $.get, $.post 等。$.ajax() 返回其创建的 XMLHttpRequest 对象。大多数情况下你无需直接操作该函数,除非你需要操作不常用的选项,以获得更多的灵活性,本文给大家介绍jquery ajax用法详解,感兴趣的朋友一起学习吧
    2015-11-11
  • jQuery实现模糊搜索功能的方法分析

    jQuery实现模糊搜索功能的方法分析

    这篇文章主要介绍了jQuery实现模糊搜索功能的方法,结合实例形式总结分析了jQuery关键字搜索、模糊查询、动态删除table数据等相关操作技巧,需要的朋友可以参考下
    2018-06-06
  • jqeury eval将字符串转换json的方法

    jqeury eval将字符串转换json的方法

    这个方法是一个将DataTable转换成字符串的方法 。
    2011-01-01
  • jQuery实现动态添加tr到table的方法

    jQuery实现动态添加tr到table的方法

    这篇文章主要介绍了jQuery实现动态添加tr到table的方法,涉及jQuery针对table表格元素的动态操作相关技巧,需要的朋友可以参考下
    2016-12-12
  • jQuery Ajax 实现分页 kkpager插件实例代码

    jQuery Ajax 实现分页 kkpager插件实例代码

    本文通过实例代码给大家讲解了jQuery Ajax 实现分页 kkpager插件功能,需要的的朋友参考下吧
    2017-08-08
  • jQuery制作简洁的多级联动Select下拉框

    jQuery制作简洁的多级联动Select下拉框

    省市多级联动的select下拉框有很多种实现方式,度娘上随便一搜就一大堆,今天我们来讨论的这款特效,代码却很简洁,兼容性也非常棒,推荐给大家。
    2014-12-12

最新评论