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 相关文章推荐
同一个表单 根据要求递交到不同页面的实现方法小结
Aug 05 Javascript
JQUERY dialog的用法详细解析
Dec 19 Javascript
jQuery插件开发的两种方法及$.fn.extend的详解
Jan 16 Javascript
使用JavaScript 编写简单计算器
Nov 24 Javascript
BOOTSTRAP时间控件显示在模态框下面的bug修复
Feb 05 Javascript
在JavaScript应用中使用RequireJS来实现延迟加载
Jul 01 Javascript
JS字符串的切分用法实例
Feb 22 Javascript
微信小程序 教程之条件渲染
Oct 18 Javascript
JavaScript日期选择功能示例
Jan 16 Javascript
详解jquery插件jquery.viewport.js学习使用方法
Sep 08 jQuery
Vue 过滤器filters及基本用法
Dec 26 Javascript
JS中数据结构之栈
Jan 01 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
让你同时上传 1000 个文件 (二)
2006/10/09 PHP
memcached 和 mysql 主从环境下php开发代码详解
2010/05/16 PHP
thinkphp学习笔记之多表查询
2014/07/28 PHP
php实现随机生成易于记忆的密码
2015/06/19 PHP
学习php设计模式 php实现观察者模式(Observer)
2015/12/09 PHP
PHP之认识(二)关于Traits的用法详解
2019/04/11 PHP
PHP如何通过带尾指针的链表实现'队列'
2020/10/22 PHP
jQuery中的read和JavaScript中的onload函数的区别
2014/08/27 Javascript
当前流行的JavaScript代码风格指南
2014/09/10 Javascript
使用jQuery jqPlot插件绘制柱状图
2014/12/18 Javascript
JavaScript中的Repaint和Reflow用法详解
2015/07/27 Javascript
JavaScript实现网站访问次数统计代码
2015/08/12 Javascript
javascript引用类型之时间Date和数组Array
2015/08/27 Javascript
JavaScript动态设置div的样式的方法
2015/12/26 Javascript
Bootstrap笔记—折叠实例代码
2017/03/13 Javascript
Angularjs在360兼容模式下取数据缓存问题的解决办法
2017/06/22 Javascript
微信小程序如何实现五星评价功能
2019/10/15 Javascript
vue3.0中友好使用antdv示例详解
2021/01/05 Vue.js
[01:53]2016完美“圣”典风云人物:Maybe专访
2016/12/05 DOTA
python爬虫中get和post方法介绍以及cookie作用
2018/02/08 Python
Python多线程扫描端口代码示例
2018/02/09 Python
python如何保证输入键入数字的方法
2019/08/23 Python
介绍CSS3使用技巧5个
2009/04/02 HTML / CSS
浅谈CSS3特性查询(Feature Query: @supports)功能简介
2017/07/31 HTML / CSS
html5开发三八女王节表白神器
2018/03/07 HTML / CSS
UGG美国官网:购买UGG雪地靴、拖鞋和鞋子
2017/12/31 全球购物
电子专业推荐信范文
2013/11/18 职场文书
毕业生的自我鉴定该怎么写
2013/12/02 职场文书
六一儿童节活动策划方案
2014/01/27 职场文书
公益活动邀请函
2014/02/05 职场文书
企业宗旨标语
2014/06/10 职场文书
毕业生代领毕业材料的授权委托书
2014/09/29 职场文书
会计主管岗位职责
2015/04/02 职场文书
学校党支部公开承诺书
2015/04/30 职场文书
小学生反邪教心得体会
2016/01/15 职场文书
2016年优秀共产党员先进事迹材料
2016/02/29 职场文书