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使用getComputedStyle()方法获取CSS属性值
Apr 23 Javascript
Javascript学习笔记之 对象篇(一) : 对象的使用和属性
Jun 24 Javascript
JavaScript每天定时更换皮肤样式的方法
Jul 01 Javascript
javascript js 操作数组 增删改查的简单实现
Jun 20 Javascript
jQuery ajaxForm()的应用
Oct 14 Javascript
原生js实现简单的链式操作
Jul 04 Javascript
Angularjs自定义指令实现分页插件(DEMO)
Sep 16 Javascript
解决vue组件中使用v-for出现告警问题及v for指令介绍
Nov 11 Javascript
vue.js获得当前元素的文字信息方法
Mar 09 Javascript
node+koa2+mysql+bootstrap搭建一个前端论坛
May 06 Javascript
Vue slot用法(小结)
Oct 22 Javascript
layui的布局和表格的渲染以及动态生成表格的方法
Sep 18 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实现的MySQL通用查询程序
2007/03/11 PHP
drupal 代码实现URL重写
2011/05/04 PHP
php中比较简单的导入phpmyadmin生成的sql文件的方法
2011/06/28 PHP
php下foreach提示Warning:Invalid argument supplied for foreach()的解决方法
2014/11/11 PHP
PHP中explode函数和split函数的区别小结
2016/08/24 PHP
PHP防止图片盗用(盗链)的方法小结
2016/11/11 PHP
php设计模式之适配器模式原理、用法及注意事项详解
2019/09/24 PHP
jQuery 动画基础教程
2008/12/25 Javascript
事件冒泡是什么如何用jquery阻止事件冒泡
2013/03/20 Javascript
深入探讨javascript中的数据类型
2015/03/04 Javascript
js获取上传文件的绝对路径实现方法
2016/08/02 Javascript
在javaScript中检测数据类型的几种方式小结
2017/03/04 Javascript
js+html5实现半透明遮罩层弹框效果
2020/08/24 Javascript
jquery select插件异步实时搜索实例代码
2017/10/20 jQuery
AngularJS创建一个上传照片的指令实例代码
2018/02/24 Javascript
jquery点击回车键实现登录效果并默认焦点的方法
2018/03/09 jQuery
对layui中表单元素的使用详解
2018/08/15 Javascript
Vuejs2 + Webpack框架里,模拟下载的实例讲解
2018/09/05 Javascript
微信小程序云开发如何使用npm安装依赖
2019/05/18 Javascript
element-ui树形控件后台返回的数据+生成组织树的工具类
2020/03/05 Javascript
浅析VUE防抖与节流
2020/11/24 Vue.js
多种类型jQuery网页验证码插件代码实例
2021/01/09 jQuery
详解Python中的多线程编程
2015/04/09 Python
深入理解Python中的super()方法
2017/11/20 Python
使用apidoc管理RESTful风格Flask项目接口文档方法
2018/02/07 Python
Python实现拷贝/删除文件夹的方法详解
2018/08/29 Python
python实现定时发送qq消息
2019/01/18 Python
python Tkinter的图片刷新实例
2019/06/14 Python
python常用数据重复项处理方法
2019/11/22 Python
Python虚拟环境的创建和使用详解
2020/09/07 Python
python Pexpect模块的使用
2020/12/25 Python
软件测试企业面试试卷
2016/07/13 面试题
机械电子工程毕业生自荐信
2013/11/23 职场文书
《叶问2》观后感
2015/06/15 职场文书
SQL Server2019数据库之简单子查询的具有方法
2021/04/27 SQL Server
MySQL索引 高效获取数据的数据结构
2022/05/02 MySQL