zoukankan      html  css  js  c++  java
  • jquery通过AJAX从后台获取信息并显示在表格上,并支持行选中

    不想用Easyui的样式,但是想要他的表格功能,本来一开始是要到网上找相关插件的,但是没找到就开始自己写,没想到这么简单。


     后台代码:(这个不重要)

    public ActionResult GetDictTypes()
    {
        var data = from a in dbo.DictTypes
                    select new DictTypeListViewModel
                    {
                        ID = a.ID,
                        Name = a.Name,
                        LastChangeUser = a.LastChangeUser,
                        LastChangeDate = a.LastChangeDate,
                        Remark = a.Remark
                    };
        return Json(data.ToList());
    }

    页面代码:

    <table class="table" id="DictTypeTable">
      <thead>
        <tr>
          <th>ID</th>
          <th>标题</th>
          <th>简介</th>
        </tr>
      </thead>
      <tbody class="sel"></tbody>
    </table>

    javascript代码:(需要在 $(document).ready(function ($){ } 里调用)

    function ShowDictType() {
        $('#DictTypeTable').children('tbody').empty();
        $.ajax({
            url: GetDictTypes_URL,
            type: 'post',
            dataType: 'json'
        })
         .done(function (data) {
             var tbody = "";
             $.each(data, function (index, el) {
                 var tr = "<tr>";
                 tr += "<td>" + el.ID + "</td>";
                 tr += "<td>" + el.Name + "</td>";
                 tr += "<td>" + el.Remark + "</td>";
                 tr += "</tr>";
                 tbody += tr;
             });
             $('#DictTypeTable').children('tbody').append(tbody);
             BindDictTypeTableEvent();//这里是绑定事件
         })
         .fail(function () {
             alert("Err");
         });
    }

    要在表格生成之后再绑定事件:

    function BindDictTypeTableEvent() {
        $('#DictTypeTable tbody.sel').children('tr').click(function (event) {
            $(this).siblings('tr').removeClass('active');//删除其他行的选中效果
            $(this).addClass('active');//增加选中效果
            var id = $(this).children('td:eq(0)').text();//获取ID
            ShowDictData(id);//操作代码,这里是显示另一个表格数据
        });
    }

    最后这里是获取选中条目ID的代码:

    function GetTypeTableSelectId() {
        return $('#DictTypeTable tbody.sel tr.active td:eq(0)').text();
    }

    UPDATE in 2015-9-21

     新版:《jquery通过AJAX从后台获取信息并显示在表格上的类》,可以直接调用,不需要重新写了。

  • 相关阅读:
    BZOJ3674 可持久化并查集加强版
    BZOJ2588 Spoj 10628. Count on a tree
    BZOJ1300 [LLH邀请赛]大数计算器
    BZOJ3261 最大异或和
    BZOJ1605 [Usaco2008 Open]Crisis on the Farm 牧场危机
    BZOJ3524 [Poi2014]Couriers
    BZOJ2127 happiness
    JZOJ__Day 7:【普及模拟】蚂蚁
    JZOJ__Day 6:【普及模拟】神奇的项链(fett)
    JZOJ__Day 6:【普及模拟】团队背包(team)
  • 原文地址:https://www.cnblogs.com/ANPY/p/4800353.html
Copyright © 2011-2022 走看看