不想用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(); }