首页 > 网站 > WEB开发 > 正文

jquery通过AJAX从后台获取信息并显示在表格上,并支持行选中

2024-04-27 15:01:18
字体:
来源:转载
供稿:网友

不想用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从后台获取信息并显示在表格上的类》,可以直接调用,不需要重新写了。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表