jquery如何给指定的表格增加行,然后给每行插入数据,而且其中一行能有超链接的。

假设表<tableid="table1"><tr><td>姓名</td><td>学号</td><td>超链接</td><></tr>这是从ashx文件请求回来是json对... 假设表 <table id="table1">
<tr>
<td>姓名</td><td>学号</td><td>超链接</td><>
</tr>
这是从 ashx文件 请求回来 是json对象 msg (是一个datatable类型的) 将msg里面的数据插入到table1 去 其中超链接那列是要能点击就能超链接的。
求个详细的实现功能的代码,好的可以加分
代码 求给注释
展开
 我来答
handangaoyang
推荐于2016-09-19 · TA获得超过2242个赞
知道大有可为答主
回答量:2633
采纳率:88%
帮助的人:892万
展开全部
  1. datatable如果想转换成JSON类型的数据,是需要处理的。直接用微软提供的JavaScriptSerializer类直接序列化,会报错。

    所以这里需要贴上两个方法,专门用来转换datatable的

#region DataTable转换为JSON
    /// <summary>
    /// DataTable生成JSON
    /// </summary>
    /// <param name="dt"></param>
    /// <returns></returns>
    public static string CreateJSON(DataTable dt)
    {
        Dictionary<string, object> dit = new Dictionary<string, object>();
        List<Dictionary<string, string>> list = DateTableConverter(dt);
        if (list != null)
        {
            dit[dt.TableName] = DateTableConverter(dt);
            return new JavaScriptSerializer().Serialize(dit);
        }
        else
        {
            return "";
        }
    }

    /// <summary>
    /// 将DataTable数据转化为字典类型
    /// </summary>
    /// <param name="dt"></param>
    /// <returns></returns>
    public static List<Dictionary<string, string>> DateTableConverter(DataTable dt)
    {
        List<Dictionary<string, string>> list = new List<Dictionary<string, string>>();

        string cloName = string.Empty;

        foreach (DataRow dr in dt.Rows)
        {
            Dictionary<string, string> cloumn = new Dictionary<string, string>();

            foreach (DataColumn dc in dt.Columns)
            {
                cloName = dc.ColumnName;
                cloumn.Add(cloName, dr[cloName].ToString());
            }

            list.Add(cloumn);
        }

        return list;
    }
    #endregion

    2.调用代码如下

            DataTable table = new DataTable("Table1");
            DataColumn col1 = new DataColumn("ID", typeof(string));
            DataColumn col2 = new DataColumn("Name", typeof(string));
            table.Columns.Add(col1);
            table.Columns.Add(col2);
            DataRow row1 = table.NewRow();
            row1["ID"] = "1";
            row1["Name"] = "a";
            table.Rows.Add(row1);
            DataRow row2 = table.NewRow();
            row2["ID"] = "2";
            row2["Name"] = "b";
            table.Rows.Add(row2);

            string json = CreateJSON(table);

    3.json结果如下

{"Table1":[{"ID":"1","Name":"a"},{"ID":"2","Name":"b"}]}

    4.数组中每一个元素,都是一行数据。只要循环遍历,然后将结果添加入你已经创建好的table中就可以了。还有疑问,继续追问吧。我先去吃饭了。

更多追问追答
追问
谢谢你跟我解释了 这个datatable跟json的关系,现在问题是,好像我的问题,你还没答到,我其实现在不懂的是,怎么在JS里面用jquery动态给表添加数据,这个遍历应该怎么遍历,我不懂呢。如何把值读取然后赋给table? 你在跟我写一下吧
追答
<script type="text/javascript">
    function bindTable() {
            $.ajax({
                complete: function (xhr, status) {
                    xhr = null;
                },
                success: function (data) {
                    if (data.length > 0) {
                        var html="";
                        data = eval("(" + data + ")");
                        //整理数据
                        for(var i=0;i<data.Table1.length;i++){
                            html+="<tr><td>"+data.Table1[i].ID+"</td>";
                            html+="<td>"+data.Table1[i].Name+"</td>";
                            html+="<td><a href='"+data.Table[i].Href+"'>链接</a></td></tr>";
                        }
                        //添加到table中
                        //字数限制,注释不可写得太多。
                        $("#table1 tr:gt(0)").empty().append(html);
                    }
                }
            });
        }
</script>
百度网友bdb30b5
2013-06-18 · TA获得超过114个赞
知道答主
回答量:114
采纳率:0%
帮助的人:90万
展开全部
$("#table1").append("<tr><td>"+msg.对象.属性+"</td><td>+"msg.对象.属性"+</td><td><a href=''>+"msg.对象.属性"</a></td></tr>");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式