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 相关文章推荐
对textarea框的代码调试,而且功能上使用非常方便,酷
Jun 30 Javascript
javascript 强制刷新页面的实现代码
Dec 13 Javascript
从零开始学习jQuery (十一) 实战表单验证与自动完成提示插件
Feb 23 Javascript
js静态方法与实例方法分析
Jul 04 Javascript
jQuery function的正确书写方法
Aug 02 Javascript
JavaScript中实现继承的三种方式和实例
Jan 29 Javascript
js实现鼠标划过给div加透明度的方法
May 25 Javascript
JQuery datepicker 用法详解
Dec 25 Javascript
asp.net+jquery.form实现图片异步上传的方法(附jquery.form.js下载)
May 05 Javascript
Javascript 5种方法实现过滤删除前后所有空格
Jun 22 Javascript
Vue瀑布流插件的使用示例
Sep 19 Javascript
Node Express用法详解【安装、使用、路由、中间件、模板引擎等】
May 13 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
php5中date()得出的时间为什么不是当前时间的解决方法
2008/06/30 PHP
FirePHP 推荐一款PHP调试工具
2011/04/23 PHP
php实现批量压缩图片文件大小的脚本
2014/07/04 PHP
PHP中变量引用与变量销毁机制分析
2014/11/15 PHP
php截取中文字符串函数实例
2015/02/23 PHP
php实现爬取和分析知乎用户数据
2016/01/26 PHP
如何正确配置Nginx + PHP
2016/07/15 PHP
Laravel框架使用Seeder实现自动填充数据功能
2018/06/13 PHP
javascript游戏开发之《三国志曹操传》零部件开发(二)人物行走的实现
2013/01/23 Javascript
解决jquery实现的radio重新选中的问题
2015/07/03 Javascript
JS将滑动门改为选项卡(需鼠标点击)的实现方法
2015/09/27 Javascript
学习JavaScript设计模式之享元模式
2016/01/18 Javascript
jQuery html表格排序插件tablesorter使用方法详解
2017/02/10 Javascript
微信小程序 弹幕功能简单实例
2017/02/14 Javascript
vue2.0 常用的 UI 库实例讲解
2017/12/12 Javascript
垃圾回收器的相关知识点总结
2018/05/13 Javascript
JS实现带阴历的日历功能详解
2019/01/24 Javascript
Angular.JS读取数据库数据调用完整实例
2019/07/02 Javascript
Vue项目打包部署到iis服务器的配置方法
2019/10/14 Javascript
JavaScript组合模式---引入案例分析
2020/05/23 Javascript
[04:42]5分钟带你了解什么是DOTA2(第一期)
2017/02/07 DOTA
python使用clear方法清除字典内全部数据实例
2015/07/11 Python
Python中getattr函数和hasattr函数作用详解
2016/06/14 Python
Python实现连接MySql数据库及增删改查操作详解
2019/04/16 Python
Python利用PyExecJS库执行JS函数的案例分析
2019/12/18 Python
Python函数的迭代器与生成器的示例代码
2020/06/18 Python
yy结婚证婚词
2014/01/10 职场文书
幼儿园亲子活动方案
2014/01/29 职场文书
十八届三中全会学习方案
2014/02/16 职场文书
2014年三八妇女节活动总结
2014/03/01 职场文书
服务标兵事迹材料
2014/05/04 职场文书
销售口号大全
2014/06/11 职场文书
党员个人批评与自我批评
2014/10/14 职场文书
有限公司股东合作协议书
2014/10/29 职场文书
公司酒会主持词
2015/07/02 职场文书
争做文明公民倡议书
2019/06/24 职场文书