当前位置 博文首页 > 巧妙使用JQuery Clone 添加多行数据,并更新到数据库的实现代码

    巧妙使用JQuery Clone 添加多行数据,并更新到数据库的实现代码

    作者:admin 时间:2021-09-08 19:10

    web前端代码:
    复制代码 代码如下:

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="BatchAdd.aspx.cs" Inherits="BatchAdd" %>
    <!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>
    </head>
    <body>
    <form runat="server" action="BatchAdd.aspx">
    <div>
    <table >
    <tr>
    <td>
    ID
    </td>
    <td>
    Title
    </td>
    <td>
    SmallClassName
    </td>
    <td>
    Author
    </td>
    <td>
    UpdateTime
    </td>
    </tr>
    <tr >
    <td>
    <input type="text" name="txtID0" />
    </td>
    <td>
    <input type="text" name="txtTitle0" />
    </td>
    <td>
    <input type="text" name="txtSmallClassName0" />
    </td>
    <td>
    <input type="text" name="txtAuthor0" />
    </td>
    <td>
    <input type="text" name="txtUpdateTime0" />
    </td>
    </tr>
    </table>
    <input type="hidden" name="hidNum" value="0" />
    <input type="button" value="Add" />
    <input type="submit" value="Save" />
    </div>
    </form>
    </body>
    </html>
    <script src="js/jquery-1.4.2.min.js" type="text/javascript"></script>
    <script language="javascript" type="text/javascript">
    $(function() {
    $("#btnAdd").click(function() {
    var num = $("#hidNum").val(); //
    num = parseInt(num);
    num++; //点击自加
    $("#hidNum").val(num); //重新赋值
    $("#tRow0").clone(true).attr("id", "tRow" + num).appendTo("#tblData"); //clone tr 并重新给定ID,装到table
    $("#tRow" + num + " td").each(function() {//循环克隆的新行里面的td
    $(this).find("input[type='text']").val(""); //清空克隆行的数据
    //修改相关属性
    $(this).find("input[name='txtID0']").attr("id", "txtID" + num).attr("name", "txtID" + num);
    $(this).find("input[name='txtTitle0']").attr("id", "txtTitle" + num).attr("name", "txtTitle" + num);
    $(this).find("input[name='txtSmallClassName0']").attr("id", "txtSmallClassName" + num).attr("name", "txtSmallClassName" + num);
    $(this).find("input[name='txtAuthor0']").attr("id", "txtAuthor" + num).attr("name", "txtAuthor" + num);
    $(this).find("input[name='txtUpdateTime0']").attr("id", "txtUpdateTime" + num).attr("name", "txtUpdateTime" + num);
    });
    });
    });
    </script>

    cs页面代码:
    复制代码 代码如下:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    public partial class BatchAdd : System.Web.UI.Page
    {
    protected void Page_Load(object sender, EventArgs e)
    {
    if (!string.IsNullOrEmpty(Request["hidNum"]))
    {
    int num = Convert.ToInt32(Request["hidNum"]);
    string id, title, smallClassName, author, updatetime;
    int rs = 0;
    if (num > 0)
    {
    for (int i = 0; i <= num; i++)
    {
    id = Request["txtID" + i];
    title = Request["txtTitle" + i];
    smallClassName = Request["txtSmallClassName" + i];
    author = Request["txtAuthor" + i];
    updatetime = Request["txtUpdateTime" + i];
    string sql = "insert into News(Title,SmallClassName,Author,Updatetime) values('" + title + "','" + smallClassName + "','" + author + "','" + updatetime + "')";
    DBHelper.connString = "server=.;database=test;uid=sa;pwd=123";
    if (DBHelper.ExecuteSql(sql) > 0)
    rs++;
    }
    Response.Redirect("Manager.aspx?rs=" + rs);
    }
    }
    }
    }
    jsjbwy