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 相关文章推荐
js脚本学习 比较实用的基础
Sep 07 Javascript
JQUERY复选框CHECKBOX全选,取消全选
Aug 30 Javascript
jquery.validate使用攻略 第二部
Jul 01 Javascript
JQuery获取各种宽度、高度(format函数)实例
Mar 04 Javascript
js使用Array.prototype.sort()对数组对象排序的方法
Jan 28 Javascript
整理Javascript事件响应学习笔记
Dec 02 Javascript
jQuery实现下拉框左右移动(全部移动,已选移动)
Apr 15 Javascript
js前端日历控件(悬浮、拖拽、自由变形)
Mar 02 Javascript
Vue开发中整合axios的文件整理
Apr 29 Javascript
关于vue-router路径计算问题
May 10 Javascript
JS按条件 serialize() 对应标签的使用方法
Jul 24 Javascript
Bootstrap实现省市区三级联动(亲测可用)
Jul 26 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
PHP flush()与ob_flush()的区别详解
2013/06/03 PHP
使用array_map简单搞定PHP删除文件、删除目录
2014/10/29 PHP
composer.lock文件的作用
2016/02/03 PHP
PHP解耦的三重境界(浅谈服务容器)
2017/03/13 PHP
发布一个基于javascript的动画类 Fx.js
2010/11/05 Javascript
JQuery 应用 JQuery.groupTable.js
2010/12/15 Javascript
js动态为代码着色显示行号
2013/05/29 Javascript
Knockout text绑定DOM的使用方法
2013/11/15 Javascript
ExtJs纵坐标值重复问题的解决方法
2014/02/27 Javascript
jquery制作select列表双向选择示例代码
2014/09/02 Javascript
基于BootStrap Metronic开发框架经验小结【四】Bootstrap图标的提取和利用
2016/05/12 Javascript
带有定位当前位置的百度地图前端web api实例代码
2016/06/21 Javascript
H5用户注册表单页 注册模态框!
2016/09/17 Javascript
jquery+Jscex打造游戏力度条
2020/09/12 Javascript
Vue.js 中取得后台原生HTML字符串 原样显示问题的解决方法
2018/06/10 Javascript
分享5个顶级的JavaScript Ajax组件库
2018/09/16 Javascript
小程序云开发初探(小结)
2018/10/24 Javascript
详解小程序rich-text对富文本支持方案
2018/11/28 Javascript
js中位运算的运用实例分析
2018/12/11 Javascript
JQuery中queue方法用法示例
2019/01/31 jQuery
layui数据表格跨行自动合并的例子
2019/09/02 Javascript
Angular 多级路由实现登录页面跳转(小白教程)
2019/11/19 Javascript
Vue实现简单的跑马灯
2020/05/25 Javascript
Python中字典和JSON互转操作实例
2015/01/19 Python
Python3.4解释器用法简单示例
2019/03/22 Python
Python用Try语句捕获异常的实例方法
2019/06/26 Python
Python中使用gflags实例及原理解析
2019/12/13 Python
详解python logging日志传输
2020/07/01 Python
CSS3实现酷炫的3D旋转透视效果
2019/11/21 HTML / CSS
老海军美国官网:Old Navy
2016/09/05 全球购物
学校元旦晚会方案
2014/02/19 职场文书
祖国在我心中演讲稿(小学生)
2014/09/23 职场文书
个人简历求职信范文
2015/03/20 职场文书
消夏晚会主持词
2015/06/30 职场文书
2016七夕情人节广告语
2016/01/28 职场文书
详解使用内网穿透工具Ngrok代理本地服务
2022/03/31 Servers