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


Posted in Javascript onSeptember 15, 2015

不想用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();
}
Javascript 相关文章推荐
jquery 中多条件选择器,相对选择器,层次选择器的区别
Jul 03 Javascript
jQuery数据缓存功能的实现思路及简单模拟
May 27 Javascript
jQuery图片轮播的具体实现
Sep 11 Javascript
用jquery仿做发微博功能示例
Apr 18 Javascript
jquery 判断selection range 是否在容器中的简单实例
Aug 02 Javascript
AngularJS下对数组的对比分析
Aug 24 Javascript
jQuery实现简洁的轮播图效果实例
Sep 07 Javascript
JavaScript+Html5实现按钮复制文字到剪切板功能(手机网页兼容)
Mar 30 Javascript
浅谈Angular HttpClient简单入门
May 04 Javascript
Redux实现组合计数器的示例代码
Jul 04 Javascript
JS双向链表实现与使用方法示例(增加一个previous属性实现)
Jan 31 Javascript
JavaScript中clientWidth,offsetWidth,scrollWidth的区别
Jan 25 Javascript
jQuery实现图片轮播特效代码分享
Sep 15 #Javascript
jQuery实现的淡入淡出二级菜单效果代码
Sep 15 #Javascript
jQuery带进度条全屏图片轮播特效代码分享
Jun 28 #Javascript
JQuery实现图片轮播效果
Sep 15 #Javascript
jQuery实现可展开合拢的手风琴面板菜单
Sep 15 #Javascript
jquery带有索引按钮且自动轮播切换特效代码分享
Sep 15 #Javascript
jquery图片轮播特效代码分享
Apr 20 #Javascript
You might like
建立动态的WML站点(三)
2006/10/09 PHP
PHP通过COM使用ADODB的简单例子
2006/12/31 PHP
浅谈PHP解析URL函数parse_url和parse_str
2014/11/11 PHP
php实现用手机关闭计算机(电脑)的方法
2015/04/22 PHP
PHP实现链式操作的核心思想
2015/06/23 PHP
基于jquery异步传输json数据格式实例代码
2013/11/23 Javascript
Javascript浅谈之引用类型
2013/12/18 Javascript
js中实现多态采用和继承类似的方法
2014/08/22 Javascript
js实现iframe跨页面调用函数的方法
2014/12/13 Javascript
node.js中的forEach()是同步还是异步呢
2015/01/29 Javascript
jQuery模拟Marquee实现无缝滚动效果完整实例
2016/09/29 Javascript
如何使用headjs来管理和异步加载js
2016/11/29 Javascript
js实现小窗口拖拽效果
2016/12/03 Javascript
如何制作幻灯片(代码分享)
2017/01/06 Javascript
基于Angular.js实现的触摸滑动动画实例代码
2017/02/19 Javascript
Vue 使用中的小技巧
2018/04/26 Javascript
在 Angular6 中使用 HTTP 请求服务端数据的步骤详解
2018/08/06 Javascript
layui 图片上传+表单提交+ Spring MVC的实例
2019/09/21 Javascript
javascript-hashchange事件和历史状态管理实例分析
2020/04/18 Javascript
JavaScript async/await原理及实例解析
2020/12/02 Javascript
vue动态设置路由权限的主要思路
2021/01/13 Vue.js
Python实现的视频播放器功能完整示例
2018/02/01 Python
python使用turtle库绘制树
2018/06/25 Python
Python创建一个空的dataframe,并循环赋值的方法
2018/11/08 Python
在python中利用GDAL对tif文件进行读写的方法
2018/11/29 Python
python获取磁盘号下盘符步骤详解
2019/06/19 Python
python实现高斯判别分析算法的例子
2019/12/09 Python
Tom Dixon官网:英国照明及家具设计和制造公司
2019/03/01 全球购物
什么是岗位职责
2013/11/12 职场文书
网络研修随笔感言
2014/02/17 职场文书
学习优秀党员杨宗兴先进事迹材料思想汇报
2014/09/14 职场文书
2014年小学英语教师工作总
2014/12/03 职场文书
2014教师专业技术工作总结
2014/12/03 职场文书
辅导员学期工作总结
2015/08/14 职场文书
2019餐饮行业创业计划书!
2019/06/27 职场文书
Python代码风格与编程习惯重要吗?
2021/06/03 Python