JQery 动态填充数据到table 中

说明:

1、把数据库中的数据查询出来,填充到前台的table中,注意 从数据查询出来的 属性IsNew="0"(table 行tr的属性)

2、单击“添加”按钮 新添加行追加到table的尾部 属性IsNew="1"(table 行tr的属性)

3、也可以删除新添加的行

一、前端代

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>testPic</title>
    <script src="IndusJS/jquery.min.js"></script>
    <style type="text/css">
        table,tr,td,th
        {
            border:1px solid;
            border-collapse:collapse;
        }
        td,th
        {
            width:30px;
            height:31px;
        }
    </style>
    <script type="text/javascript">
        var tt1 = 0;
        var myArr = new Array();
        $(function () {
            getList();
        });
        function setArray()
        {
         var json = JSON.stringify(myArr);
         $.ajax({
            type: "post",
            url: ‘Home/getArr‘,
            data: { pid: json },
            dataType: "text",
            traditional: true,//这里设置为true
            success: function (data) {
            }
         });
        }
        function getList() {
            $.ajax({
                type: "post",
                url: ‘Home/getTestDICData‘,
                data: { pid: 1 },
                dataType: "json",
                success: function (data) {
                    var html = ‘‘;
                    $.each(data, function (index, val) {
                        if (index == "picBase64") {
                            if (val.length > 0) {
                                for (var i = 0; i < val.length; i++) {
                                    html = html + ‘<tr IsNew="0">‘;
                                    html = html + ‘<td>‘ + val[i].ID + ‘</td>‘;
                                    html = html + ‘<td>‘ + val[i].valName + ‘</td>‘;
                                    html = html + ‘</tr>‘;
                                }
                            }
                        }
                    });
                    var sstt;
                    sstt = sstt + ‘<tr>‘;
                    sstt = sstt + ‘<th> 编号 </th>‘;
                    sstt = sstt + ‘<th> 名称 </th>‘;
                    sstt = sstt + ‘</tr>‘;
                    sstt = sstt + html;

                    $(‘#tr‘).html(sstt);//通过jquery方式获取table,并把tr,td的html输出到table中
                    testSX();
                    getInt();
                    setArray();
                },
                error: function () {
                    alert("查询失败!");
                }
            });
        }
        function testSX()
            {
                var tt = $("#tr tr");
                var contrTemp = [];
                for (var i = 1; i < tt.length; i++) {
                    contrTemp.push($(tt[i]).attr(‘IsNew‘));

                }
                console.log(contrTemp);
            }
        function addRow() {
                tt1++;
                var rowTem = ‘<tr IsNew="1" class="tr_‘ + tt1 + ‘">‘
                    + ‘<td><input type="Text" id="text‘ + tt1 + ‘" /></td>‘
                    + ‘<td><input type="Text" id="txt‘ + tt1 + ‘"/></td>‘
                    + ‘<td><a href="#" onclick=delRow(‘ + tt1 + ‘) >删除</a></td>‘
                    + ‘</tr>‘;
                $("#tr tbody:last").append(rowTem);
            }
        //删除行
        function delRow(_id) {
                $("#tr .tr_" + _id).hide();
        }
        //获取新添加行的数值
        function getInt() {
                var k;
                var att = {};//创建一个空的json
                var id, number_, name;//定义四个变量,分别是表格中索要获取的分类id、编号、名称、上传图
                var Array01 = [];//一个空的数组
                var tt = $("#tr tr");
                for (var i = 1; i < tt.length; i++) {
                    if ($(tt[i]).attr(‘IsNew‘) == ‘1‘)
                    {
                        att = {
                            ‘ID‘:$(tt[i]).find(‘td‘).eq(0).text(),//分类id
                            ‘valName‘: $(tt[i]).find(‘td‘).eq(1).text()//分类名称
                        };
                        Array01.push(att);//把json数据写入数组
                    }
                }
                myArr = Array01;

            }

    </script>
</head>
<body>
    <form id="form1" runat="server">
        <table class="table" id="tr" style="text-align: center;">
        </table>
         <input type="button" value="添加行" onclick="addRow();" />
    </form>
</body>
</html>

二、后台代码

        public JsonResult getTestDICData()
        {
            picModel model = new picModel();
            subPicMolde k1 = new subPicMolde() { ID=1, valName="值1" };
            subPicMolde k2= new subPicMolde()  { ID = 2, valName = "值2" };
            subPicMolde k3 = new subPicMolde() { ID = 3, valName = "值3" };
            subPicMolde k4 = new subPicMolde() { ID = 4, valName = "值4" };
            List<subPicMolde> myList = new List<subPicMolde>();
            myList.Add(k1);
            myList.Add(k2);
            myList.Add(k3);
            myList.Add(k4);
            model.picBase64 = myList;
           return Json(model,JsonRequestBehavior.DenyGet);
        }

   public JsonResult getArr()
        {
            string ps = Request.Params["pid"].ToString();
            JavaScriptSerializer jsSerializer=new JavaScriptSerializer();
            List<subPicMolde> jd = jsSerializer.Deserialize<List<subPicMolde>>(ps);

        subPicMolde model = new subPicMolde() { ID = 1, valName = "123" };
        return  Json(model,JsonRequestBehavior.DenyGet);
        }

   public class picModel
    {
        public List<subPicMolde> picBase64;
    }

    public class subPicMolde
    {
        public int ID { get; set; }
        public string valName { get; set; }
    }

原文地址:https://www.cnblogs.com/net064/p/10240424.html

时间: 2024-10-29 13:37:51

JQery 动态填充数据到table 中的相关文章

动态渲染数据到表格中

<script> //兼容方案 // var xhr=window.XMLHttpRequest?new XMLHttpRequest():new ActiveXObject('Microsoft.XMLHTTP'); var xhr = new XMLHttpRequest(); xhr.open('GET', 'test.php'); xhr.send(); xhr.onreadystatechange = function () { if (this.readyState !== 4)

servlet中如何发送ajax请求并动态拼接数据到html中

废话不多说,直接上代码 1.servlet 2.js 3.jsp 有不懂得欢迎来扣我哦^_^

《项目经验》--后台一般处理程序向前台JS文件传递JSON,JS解析JSON,将数据显示在界面--显示在DropDownList 或 显示在动态创建的table中

http://blog.csdn.net/mazhaojuan/article/details/8599167 先看一下我要实现的功能界面: 这篇文章主要介绍:后台一般处理程序把从数据库查找的数据,转换成JSON,然后传递到前台JS文件中,JS解析JSON数据,并将数据显示在界面,主要介绍两种显示方式,显示在DropDownList控件 or 显示在动态创建的Table表中.   本文主要介绍两个地方: 1.根据学年查询学期信息的实现--JS将解析的JSON数据绑定到DropDownList框

向已有的table中插入数据

table: <table id="seleted-table" class="table table-bordered table-hover" style="display: table"> <thead> <tr> <th width="50%">#</th> <th width="50%">name</th> <

ASP.NET实现弹出框真分页将复选框选择的数据存到数据库中(一)

ASP.NET实现弹出框真分页将复选框选择的数据存到数据库中,这个问题分一下几步走 1.将弹出框真分页后复选框选择的数据保存. 2.将弹出框保存的数据传到父页面上. 3.将数据在父页面上显示. 4.点击保存将信息存入数据库中. 首先来第一步将弹出框真分页后复选框选择的数据保存. 思路很简单就是先真分页,然后在点击下一页的时候扫描这一页所有点击复选框的数据保存到一个变量数组中.下面就是主要代码: ASP代码: <%@ Page Language="C#" AutoEventWire

C#动态生成Word文档并填充数据

C#也能动态生成Word文档并填充数据 http://www.cnblogs.com/qyfan82/archive/2007/09/14/893293.html 引用http://blog.csdn.net/mengyao/archive/2007/09/13/1784079.aspx using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.

用Aspose.Words for .NET动态生成word文档中的数据表格

1.概述 最近项目中有一个这样的需求:导出word 文档,要求这个文档的格式不是固定的,用户可以随便的调整,导出内容中的数据表格列是动态的,例如要求导出姓名和性别,你就要导出这两列的数据,而且这个文档不是导出来之后再调整而是导出来后已经是调整过了的.看到这里,您也许马上想到用模板导出!而且.NET中自带有这个组件:Microsoft.Office.Interop.Word,暂且可以满足需求吧.但这个组件也是有局限性的,例如客户端必须装 office组件,而且编码复杂度高.最麻烦的需求是后面那个-

PB中外部数据源数据窗口中动态创建列

公司原来做的横向报表用pb的外部数据源的做的,只支持固定列,列数相当于是在数据窗口中固定好的,横向的数据项一多,列就支持不了,需要自己在跑到数据窗口中增加,改程序,于是想列的创建能不能改成动态的呢?通过数据窗口的语法工具,发现有办法: <DW Control Name>.Modify(& "create column( id=<an integer> tabsequence=<an integer> accelerator='<a single

修改Android中strings.xml文件, 动态改变数据

有些朋友可能会动态的修改Android中strings.xml文件中的值,在这里给大家推荐一种简单的方法.strings.xml中节点是支持占位符的,如下所示: <string name="data">整数型:%1$d,浮点型:%2$.2f,字符串:%3$s</string> 其中%后面是占位符的位置,从1开始, $ 后面是填充数据的类型         %d:表示整数型:         %f :表示浮点型,其中f前面的.2 表示小数的位数         %