【4858美高梅】Ajax动态生成Table表格,使用jQuery操作HTML的table表格的实例解析

By admin in 4858美高梅 on 2019年5月19日

前言:

JQuery Ajax动态生成Table表格,jqueryajax

前言:

4858美高梅 ,  本示例差不离成效是前台通过JQuery的Ajax调用一般管理程序(Handler),获取表格要求显示的音信,然后调换来json格式重返给前台,前台获取到数码后循环营造表格的行,最佳把行附加到表里。

目标:

  a 熟谙简单JQuery Ajax的行使

  b 领悟什么协会基本的Json格式的数额(营造Json也能够透过第2方的dll)

  c 熟识下handler的大旨用法

壹 轻巧意义图

4858美高梅 1

贰 前台代码

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="DialogAjax.aspx.cs" Inherits="JQueryTest_DialogAjax" %>
<!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 runat="server">
  <title></title>
  <link href="../JQueryUi/jquery-ui-1.8.5.custom.css" rel="stylesheet" type="text/css" />
  <script src="../JQueryUi/jquery-1.4.2.min.js" type="text/javascript"></script>
  <script src="../JQueryUi/jquery-ui-1.8.5.custom.min.js" type="text/javascript"></script>
  <style type="text/css">
    #divTb
    {
      width:800px;
      border:1px solid #aaa;
      margin:0 auto;
    }
    .even{background:#CCCCCC;}
    .odd{background:#FFFFFF;}
  </style>
  <script type="text/javascript">
    //获取发布模块类型
    function getModuleInfo() {
      $.ajax({
        type: "GET",
        dataType: "json",
        url: "../Handler/TestHandler.ashx?Method=GetModuleInfo",
        //data: { id: id, name: name },
        success: function(json) {
          var typeData = json.Module;
          $.each(typeData, function(i, n) {
            var tbBody = ""
            var trColor;
            if (i % 2 == 0) {
              trColor = "even";
            }
            else {
              trColor = "odd";
            }
            tbBody += "<tr class='" + trColor + "'><td>" + n.ModuleNum + "</td>" + "<td>" + n.ModuleName + "</td>" + "<td>" + n.ModuleDes + "</td></tr>";
            $("#myTb").append(tbBody);
          });
        },
        error: function(json) {
          alert("加载失败");
        }
      });
    }
    $(function() {
      getModuleInfo();
    });
  </script>
</head>
<body>
  <form id="form1" runat="server">
  <div id="divTb">
    <table id="myTb" style=" width:100%">
    </table>
  </div>
  </form>
</body>
</html>

3 Handler代码

<%@ WebHandler Language="C#" Class="TestHandler" %>
using System;
using System.Web;
using System.Collections.Generic;
using System.Text;
using DataDAL;
using DataEnity;
public class TestHandler : IHttpHandler {
  HttpRequest Request;
  HttpResponse Response;
  public void ProcessRequest (HttpContext context) {
    //不让浏览器缓存
    context.Response.Buffer = true;
    context.Response.ExpiresAbsolute = DateTime.Now.AddDays(-1);
    context.Response.AddHeader("pragma", "no-cache");
    context.Response.AddHeader("cache-control", "");
    context.Response.CacheControl = "no-cache";
    context.Response.ContentType = "text/plain";
    Request = context.Request;
    Response = context.Response;
    string method = Request["Method"].ToString();
    System.Reflection.MethodInfo methodInfo = this.GetType().GetMethod(method);
    methodInfo.Invoke(this, null);
  }
  public void GetModuleInfo()
  {
    StringBuilder sb = new StringBuilder();
    string jsonData = string.Empty;
    List<Module> lsModule = ModuleDAL.GetModuleList();
    sb.Append("{\"Module\":[");
    for (int i = 0; i < lsModule.Count; i++)
    {
      jsonData = "{\"ModuleNum\":" + "\"" + lsModule[i].ModuleNum + "\"" + ",\"ModuleName\":" + "\"" + lsModule[i].ModuleName + "\"" + ",\"ModuleDes\":" + "\"" + lsModule[i].ModuleDes + "\"" + "},";
      sb.Append(jsonData);
    }
    if (lsModule.Count > 0)
      sb = sb.Remove(sb.Length - 1, 1);
    sb.Append("]}");
    Response.Write(sb);
  }
  public bool IsReusable
  {
    get {
      return false;
    }
  }
}

以上代码超轻易吗,JQuery
Ajax动态生成Table表格的剧情就整个做到了,希望对大家有着帮忙。

Ajax动态生成Table表格,jqueryajax 前言:
本示例大约作用是前台通过JQuery的Ajax调用一般管理程序(Handler),获取表格必要出示的信息,然…

第2要取得Table表格的行数,小编是因此后台增添表格的所以本人在前台获取的时候length一下就拿走到了总额赋值
比方上海体育场所:
1旦自个儿要打字与印刷那么些表格但不想要操作那列的剧情怎么办?

末尾效果图:

  本示例差不多功效是前台通过JQuery的Ajax调用一般处理程序(Handler),获取表格要求展现的消息,然后调换来json格式再次来到给前台,前台获取到数码后循环创设表格的行,最佳把行附加到表里。

复制代码 代码如下:

4858美高梅 2

目标:

【4858美高梅】Ajax动态生成Table表格,使用jQuery操作HTML的table表格的实例解析。for(var i=0;i<num+1;i++)
{
  $(“table tr”).eq(i).find(“td”).eq(0).remove();
}

大约来看一下里头的首要性部分:

  a 掌握轻易JQuery Ajax的使用

解释:
num是从后台获取到的列表总和+1是为了表头这几个也去掉。
第一个eq(i)是获取Table里的TR索引
其次个eq(0)是获取T福睿斯里的第多个TD地点

HTML:

  b 通晓什么组织基本的Json格式的数额(营造Json也足以透过第2方的dll)

你或然感兴趣的稿子:

  • jQuery达成获取table表格第2列值的格局
  • JQuery
    Ajax动态生成Table表格
  • jQuery对table表格举行增加和删除改查
  • JQuery
    动态生成Table表格实例代码
  • 动用jQuery操作HTML的table表格的实例深入分析
  • jQuery达成Table表格隔行变色及高亮呈现当前增选行效果示例
  • jQuery+CSS完成的table表格行列转置成效示例
  • jQuery完毕table表格checkbox全选的主意剖判
  • jQuery达成table表格音讯的进展和压缩成效示例
.td_back_color { 
  background-color: red; 
} 
.td_center { 
  text-align: center; 
  font-weight:bold; 
} 

  c 熟谙下handler的着力用法

CSS:

一 轻松意义图

<table id="tbl_count"> 
      <caption>2013春节聚会收支统计</caption> 
      <tr> 
        <th>姓名</th> 
        <th>吃饭</th> 
        <th>KTV</th> 
        <th>烧烤</th> 
        <th>支出</th> 
        <th>应付</th> 
      </tr> 
      <tr> 
        <th>周竞成</th> 
        <td></td> 
        <td></td> 
        <td></td> 
        <td></td> 
        <td></td> 
      </tr> 
      ...... 
    </table> 

4858美高梅 3

JavaScript:

二 前台代码

var data = [ { 
      picture : "http://ww1.sinaimg.cn/mw690/51baa38egw1dzl6l2hjchj.jpg", 
      name : "周竞成", 
      leftTime : "二月五号", 
      phone : "186****2296", 
      qq : "", 
      workedIn : "浙江 杭州", 
      cost : 200, 
      project : "吃饭,KTV,烧烤" 
    }, ........ 


// 初始化shuju 
    var init = function() { 
      var tbl_count = $("#tbl_count tr:gt(0)"); 
      // 吃饭 
      var meal_text = $("#tbl_count tr:first th:eq(1)").text(); 
      // KTV 
      var ktv_text = $("#tbl_count tr:first th:eq(2)").text(); 
      // 烧烤 
      var bbq_text = $("#tbl_count tr:first th:eq(3)").text(); 

      $.each(tbl_count, function(i,v){ 
        var tr_info = tbl_count.eq(i); 
        for (var i = 0; i < data.length; i++) { 
          var data_info = data[i]; 
          // 判断姓名相同的 
          if(data_info.name == tr_info.find("th:first").text()){ 
            if(data_info.project.indexOf(meal_text) != -1){ 
              tr_info.find("td:eq(0)").addClass("td_back_color"); 
            } 
            if(data_info.project.indexOf(ktv_text) != -1){ 
              tr_info.find("td:eq(1)").addClass("td_back_color"); 
            } 
            if(data_info.project.indexOf(bbq_text) != -1){ 
              tr_info.find("td:eq(2)").addClass("td_back_color"); 
            } 
            tr_info.find("td:eq(3)").addClass("td_center").text("¥"+data_info.cost); 
          } 
        } 
      }); 
    }; 
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="DialogAjax.aspx.cs" Inherits="JQueryTest_DialogAjax" %>
<!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 runat="server">
  <title></title>
  <link href="../JQueryUi/jquery-ui-1.8.5.custom.css" rel="stylesheet" type="text/css" />
  <script src="../JQueryUi/jquery-1.4.2.min.js" type="text/javascript"></script>
  <script src="../JQueryUi/jquery-ui-1.8.5.custom.min.js" type="text/javascript"></script>
  <style type="text/css">
    #divTb
    {
      width:800px;
      border:1px solid #aaa;
      margin:0 auto;
    }
    .even{background:#CCCCCC;}
    .odd{background:#FFFFFF;}
  </style>
  <script type="text/javascript">
    //获取发布模块类型
    function getModuleInfo() {
      $.ajax({
        type: "GET",
        dataType: "json",
        url: "../Handler/TestHandler.ashx?Method=GetModuleInfo",
        //data: { id: id, name: name },
        success: function(json) {
          var typeData = json.Module;
          $.each(typeData, function(i, n) {
            var tbBody = ""
            var trColor;
            if (i % 2 == 0) {
              trColor = "even";
            }
            else {
              trColor = "odd";
            }
            tbBody += "<tr class='" + trColor + "'><td>" + n.ModuleNum + "</td>" + "<td>" + n.ModuleName + "</td>" + "<td>" + n.ModuleDes + "</td></tr>";
            $("#myTb").append(tbBody);
          });
        },
        error: function(json) {
          alert("加载失败");
        }
      });
    }
    $(function() {
      getModuleInfo();
    });
  </script>
</head>
<body>
  <form id="form1" runat="server">
  <div id="divTb">
    <table id="myTb" style=" width:100%">
    </table>
  </div>
  </form>
</body>
</html>

PS:jQuery获取表格总行数汇总

3 Handler代码

var rowCount = $('#myTable tr').length; 

var rowCount = $('#myTable >tbody >tr').length; 

$("#myTable").attr('rows').length; 

var rowCount = $('table#myTable:last').index() + 1; 

//Helper function that gets a count of all the rows <TR> in a table body <TBODY> 
$.fn.rowCount = function() { 
  return $('tr', $(this).find('tbody')).length; 
}; 

// USAGE: 

var rowCount = $('#productTypesTable').rowCount(); 

alert(jQuery("#jtkList").find("table").eq(0).find("tr").length); 
<%@ WebHandler Language="C#" Class="TestHandler" %>
using System;
using System.Web;
using System.Collections.Generic;
using System.Text;
using DataDAL;
using DataEnity;
public class TestHandler : IHttpHandler {
  HttpRequest Request;
  HttpResponse Response;
  public void ProcessRequest (HttpContext context) {
    //不让浏览器缓存
    context.Response.Buffer = true;
    context.Response.ExpiresAbsolute = DateTime.Now.AddDays(-1);
    context.Response.AddHeader("pragma", "no-cache");
    context.Response.AddHeader("cache-control", "");
    context.Response.CacheControl = "no-cache";
    context.Response.ContentType = "text/plain";
    Request = context.Request;
    Response = context.Response;
    string method = Request["Method"].ToString();
    System.Reflection.MethodInfo methodInfo = this.GetType().GetMethod(method);
    methodInfo.Invoke(this, null);
  }
  public void GetModuleInfo()
  {
    StringBuilder sb = new StringBuilder();
    string jsonData = string.Empty;
    List<Module> lsModule = ModuleDAL.GetModuleList();
    sb.Append("{\"Module\":[");
    for (int i = 0; i < lsModule.Count; i++)
    {
      jsonData = "{\"ModuleNum\":" + "\"" + lsModule[i].ModuleNum + "\"" + ",\"ModuleName\":" + "\"" + lsModule[i].ModuleName + "\"" + ",\"ModuleDes\":" + "\"" + lsModule[i].ModuleDes + "\"" + "},";
      sb.Append(jsonData);
    }
    if (lsModule.Count > 0)
      sb = sb.Remove(sb.Length - 1, 1);
    sb.Append("]}");
    Response.Write(sb);
  }
  public bool IsReusable
  {
    get {
      return false;
    }
  }
}

您恐怕感兴趣的小说:

  • jQuery实现获取table表格第2列值的艺术
  • JQuery
    Ajax动态生成Table表格
  • jQuery对table表格举办增加和删除改查
  • 听大人讲JQuery的动态删除Table表格的行和列的代码
  • JQuery
    动态生成Table表格实例代码
  • jQuery达成Table表格隔行变色及高亮突显当前挑选行效果示例
  • jQuery+CSS达成的table表格行列转置效用示例
  • jQuery达成table表格checkbox全选的办法深入分析
  • jQuery完结table表格音讯的开始展览和紧缩功能示例

上述代码超轻易吗,JQuery
Ajax动态生成Table表格的内容就全体完事了,希望对咱们具备支持。

您或者感兴趣的篇章:

  • jQuery达成获取table表格第一列值的点子
  • jQuery对table表格举行增加和删除改查
  • 基于JQuery的动态删除Table表格的行和列的代码
  • JQuery
    动态生成Table表格实例代码
  • 利用jQuery操作HTML的table表格的实例剖判
  • jQuery完结Table表格隔行变色及高亮显示当前增选行效果示例
  • jQuery+CSS完成的table表格行列转置效用示例
  • jQuery实现table表格checkbox全选的不二秘籍解析
  • jQuery完成table表格新闻的进展和紧缩效率示例

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图
Copyright @ 2010-2019 美高梅手机版4858 版权所有