jquery通过AJAX从后台获取信息并显示在表格上的类
前一阵我写了:《jquery通过AJAX从后台获取信息并显示在表格上,并支持行选中。》现在,我把他们处理了一下,不需要每次写代码了:
具体代码如下:
//获取数据并显示数据表格
function GetTableData(tableId,ChlickEvent) {
var table = $(tableId);
var url=table.data('url');
$.ajax({
url: url,
type: 'post',
dataType: 'json',
})
.done(function (json) {
var fileds = new Array();
table.children('thead').children('tr').children('th').each(function (index, el) {
var field = $(this).data('field');
fileds[index] = field;
});
var tbody = '';
$.each(json, function (index, el) {
var tr = "<tr>";
$.each(fileds, function (i, el) {
if (fileds[i]) {
tr += '<td>' + formatJsonData(json[index][fileds[i]]) + '</td>';
}
});
tr += "</tr>";
tbody += tr;
});
table.children('tbody').append(tbody);
if (ChlickEvent) {//如果需要支持行选中事件
table.children('tbody').addClass('sel');
table.children('tbody.sel').children('tr').click(function (event) {
$(this).siblings('tr').removeClass('active');//删除其他行的选中效果
$(this).addClass('active');//增加选中效果
ChlickEvent($(this).children('td:eq(0)').text());//新增点击事件
});
}
}).fail(function () {
alert("Err");
});
}
//格式化JSON数据,比如日期
function formatJsonData(jsondata){
if(jsondata==null){
return '无数据';
}
else if(/\/Date\(\d+\)/.exec(jsondata)){
var date = new Date(parseInt(jsondata.replace("/Date(", "").replace(")/", ""), 10));
return date.toLocaleString();
}
return jsondata;
}
写的非常简单,功能也很少,但是我自己用暂时足够了。满足简单需求。
HTML代码必须以下格式,必须以POST方式获取JSON数据,获取地址写到data-url里,数据列名写到data-field里。
支持点击事件。
用法:
<table id="RoleGroupTable" class="table" data-url="@Url.Action("GetRoleGroups", "Account")">
<thead>
<tr>
<th data-field="ID">ID</th>
<th data-field="Name">名称</th>
<th data-field="Remark">简介</th>
</tr>
</thead>
<tbody></tbody>
</table>
<script>
jQuery(document).ready(function ($) {
GetTableData('#RoleGroupTable', function (id) {
alert(id)
});
});
</script>
jquery通过AJAX从后台获取信息并显示在表格上的类的更多相关文章
- jquery通过AJAX从后台获取信息并显示在表格上,并支持行选中
不想用Easyui的样式,但是想要他的表格功能,本来一开始是要到网上找相关插件的,但是没找到就开始自己写,没想到这么简单. 后台代码:(这个不重要) public ActionResult GetDi ...
- Jquery通过AJAX从后台获取数据显示在表格上(复选)
代码: function GetMultiLineSelectTable(tableId, selectIds) { var table = $(tableId); var url = table.d ...
- jquery中ajax请求后台数据成功后既不执行success也不执行error解决方法
jquery中ajax请求后台数据成功后既不执行success也不执行error,此外系统报错:Uncaught SyntaxError: Unexpected identifier at Objec ...
- 原生js,jquery通过ajax获得后台json数据动态新增页面元素
一.原生js通过ajax获取json数据 因为IE浏览器对ajax对象的创建和其他浏览器不同,为了兼容全部浏览器,我用下面的代码: function createXMLHttpRequest(){ t ...
- Asp.net中JQuery、ajax调用后台方法总结
通过上一篇文章实例的实现,整个过程当中学习到很多知识点,了解了Jquery.Ajax在asp.net中的运用,加以总结,其实原理都是一样的,理解了一种,其他的注意很少的区别就可以了.灵活运用: 1.有 ...
- jsTree通过AJAX从后台获取数据
页面代码: <div id="MenuTree"></div> javascript代码: $(document).ready(function ($) { ...
- 使用JSONP,jQuery的ajax跨域获取json数据
网上找了很多资料,写的不错,推荐下: 1.深入浅出JSONP--解决ajax跨域问题 (http://www.cnblogs.com/chopper/archive/2012/03/24/240394 ...
- MSClass 和setInterval 的并发,ajax定时有采集信息滚动显示
setTimeout 用于延时器,只执行一次. setInterval:用于多次执行. //****************************************** 项目中引用到jquer ...
- 基于jQuery的ajax系列之用FormData实现页面无刷新上传
接着上一篇ajax系列之用jQuery的ajax方法向服务器发出get和post请求写,这篇主要写如何利用ajax和FormData实现页面无刷新的文件上传效果,主要用到了jQuery的ajax()方 ...
随机推荐
- MySQL innobackupex全量备份恢复
转自 http://blog.itpub.net/27099995/viewspace-1295099/ 先简单介绍一下这个工具:innobackupexinnobackupex比xtarbackup ...
- SoapUI工具做get请求和post请求接口测试
转载自:https://www.cnblogs.com/hong-fithing/p/7617366.html 此篇主要介绍SoapUI工具做常用的两种请求接口测试,分别是get请求和post请求. ...
- DateTime?,也是一种类型,代表DateTime或NULL两种类型,在处理空时间时比较有用
public static DateTime? GetDateTimeFromStr(string date) { if (date.Trim() == string.Empty) return nu ...
- vscode setting
{ "files.autoSave": "onFocusChange", "window.openFilesInNewWindow": tr ...
- RN 获取组件的宽度和高度
https://www.cnblogs.com/zhiyingzhou/p/7471212.html https://blog.csdn.net/calvin_zhou/article/details ...
- window7 修改docker安装的machine 位置
win7下安装docker ,默认的machine location 是在C:\users\xx\.docker\machine\machines 下面,为了不占用系统盘,想修改盘符位置 google ...
- Spring AOP使用注解记录用户操作日志
最后一个方法:核心的日志记录方法 package com.migu.cm.aspect; import com.alibaba.fastjson.JSON; import com.migu.cm.do ...
- RabbitMQ tutorial
一.安装RabbitMQ RabbitMQ是一套开源(MPL)的消息队列服务软件,是由 LShift 提供的一个 Advanced Message Queuing Protocol (AMQP) 的开 ...
- [WebService].net中WebService的使用实例
.net中WebService的使用实例 一.创建一个Webwebservice 1.新建一个项目WebserverDemo 2.在项目处添加新建项,添加一个web服务 3.编辑TestServer. ...
- robotframework在3.7下的搭建
网上看了大多安装RIDE都是在python2的环境下,今天试了下python3的安装,成功了,步骤如下: 1.首先是python3的安装,以及pip这些工具,具体的网上一堆,不再啰嗦 2.安装robo ...