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 相关文章推荐
event.currentTarget与event.target的区别介绍
Dec 31 Javascript
JS验证邮箱格式是否正确的代码
Dec 05 Javascript
纯JS实现根据CSS的class选择DOM
Mar 22 Javascript
javascript 处理null及null值示例
Jun 09 Javascript
详解JavaScript对Date对象的操作问题(生成一个倒数7天的数组)
Oct 01 Javascript
jQuery实现控制文字内容溢出用省略号(…)表示的方法
Feb 26 Javascript
js实现数组冒泡排序、快速排序原理
Mar 08 Javascript
使用ReactJS实现tab页切换、菜单栏切换、手风琴切换和进度条效果
Oct 17 Javascript
js获取时间函数及扩展函数的方法
Oct 30 Javascript
JS时间控制实现动态效果的实例讲解
Jul 31 Javascript
Javascript中Math.max和Math.max.apply的区别和用法详解
Aug 24 Javascript
js实现三角形粒子运动
Sep 22 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
ThinkPHP控制器间实现相互调用的方法
2014/10/31 PHP
PHP实现获取并生成数据库字典的方法
2016/05/04 PHP
AJAX的使用方法详解
2017/04/29 PHP
使用PHP开发留言板功能
2019/11/19 PHP
PHP类的自动加载与命名空间用法实例分析
2020/06/05 PHP
用javascript来实现动画导航效果的代码
2007/12/16 Javascript
国外大牛IE版本检测!现在IE都到9了,IE检测代码
2012/01/04 Javascript
关于eval 与new Function 到底该选哪个?
2013/04/17 Javascript
js实现window.open不被拦截的解决方法汇总
2014/10/30 Javascript
javascript实现图片循环渐显播放的方法
2015/02/24 Javascript
javascript中传统事件与现代事件
2015/06/23 Javascript
javascript实现页面刷新时自动清空表单并选中的方法
2015/07/18 Javascript
jquery validate.js表单验证入门实例(附源码)
2015/11/10 Javascript
AngularJS中$http服务常用的应用及参数
2016/08/22 Javascript
jQuery日程管理控件glDatePicker用法详解
2017/03/29 jQuery
vue主动刷新页面及列表数据删除后的刷新实例
2018/09/16 Javascript
node删除、复制文件或文件夹示例代码
2019/08/13 Javascript
JavaScript实现H5接金币功能(实例代码)
2021/02/22 Javascript
在python的WEB框架Flask中使用多个配置文件的解决方法
2014/04/18 Python
20招让你的Python飞起来!
2016/09/27 Python
Python编程对列表中字典元素进行排序的方法详解
2017/05/26 Python
Python使用Phantomjs截屏网页的方法
2018/05/17 Python
python3 小数位的四舍五入(用两种方法解决round 遇5不进)
2019/04/11 Python
基于Keras的格式化输出Loss实现方式
2020/06/17 Python
标记环网Toke Ring IEEE802.5
2014/05/26 面试题
广州某公司软件工程师面试题
2014/12/22 面试题
如何通过jdbc调用存储过程
2012/04/19 面试题
计算机大学生的自我评价
2013/10/15 职场文书
心理健康日活动总结
2014/05/08 职场文书
升职演讲稿范文
2014/05/23 职场文书
先进教师事迹材料
2014/12/16 职场文书
采购部2015年度工作总结
2015/07/24 职场文书
《圆明园的毁灭》教学反思
2016/02/16 职场文书
利用ajax+php实现商品价格计算
2021/03/31 PHP
Apache POI的基本使用详解
2021/11/07 Servers
maven依赖的version声明控制方式
2022/01/18 Java/Android