Jquery通过AJAX从后台获取数据显示在表格上(复选)
代码:
function GetMultiLineSelectTable(tableId, selectIds) {
var table = $(tableId);
var url = table.data('url');
var ischeckbox = false;
//获取数据项名称
var fileds = new Array();
table.children('thead').children('tr').children('th').each(function (index, el) {
var type = 'Content';
if ($(this).data('type')) type = $(this).data('type');
if (type == 'Content') {
var field = $(this).data('field');
fileds[index] = field;
}
else if (type == 'CheckBox') {
ischeckbox = true;
}
});
$.ajax({
url: url,
type: 'post',
dataType: 'json',
})
.done(function (json) {
//向表格内新增内容
var tbody = '';
$.each(json, function (index, el) {
var tr = "<tr>";
if (ischeckbox) {//生成复选按钮
//tr+='<td><div class="checker"><span><input class="checkboxes" type="checkbox"></span></div></td>'
tr += '<td><input type="checkbox"></td>'
}
$.each(fileds, function (i, el) {//生成内容
if (fileds[i]) {
tr += '<td>' + formatJsonData(json[index][fileds[i]]) + '</td>';
}
});
tr += "</tr>";
tbody += tr;
});
table.children('tbody').empty();
table.children('tbody').append(tbody);//显示数据
if (selectIds) {//将需要选中的行设为选中状态
selectIds.each(function (index, el) {
//建设中
});
}
table.children('tbody').addClass('sel');
table.children('tbody.sel').children('tr').click(function (event) {//点击行事件
$(this).toggleClass('active');//增加选中效果
if (ischeckbox) $(this).find('input[type="checkbox"]').attr('checked', $(this).hasClass('active'));//选择复选框
}); }).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;
}
用法:
<table class="table" id="GroupTable" data-url="@Url.Action("GetRoleGroups", "Account")">
<thead>
<tr>
<th data-type="CheckBox"></th>
<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 ($) {
GetMultiLineSelectTable("#GroupTable");
});
</script>
<th data-type="CheckBox"></th>代表需要显示复选框,不想要复选框直接删掉就行了
获取选中的行ID:
function GetGroupTableSelectIds(){
var selects=$('#GroupTable').children('tbody').children('tr.active');
var ids=new Array();
selects.each(function(index, el) {
ids[index]=el.cells[1].innerHTML;
});
return ids;
}
Jquery通过AJAX从后台获取数据显示在表格上(复选)的更多相关文章
- jquery通过AJAX从后台获取信息并显示在表格上的类
前一阵我写了:<jquery通过AJAX从后台获取信息并显示在表格上,并支持行选中.>现在,我把他们处理了一下,不需要每次写代码了: 具体代码如下: //获取数据并显示数据表格 funct ...
- jquery通过AJAX从后台获取信息并显示在表格上,并支持行选中
不想用Easyui的样式,但是想要他的表格功能,本来一开始是要到网上找相关插件的,但是没找到就开始自己写,没想到这么简单. 后台代码:(这个不重要) public ActionResult GetDi ...
- jquery中ajax请求后台数据成功后既不执行success也不执行error解决方法
jquery中ajax请求后台数据成功后既不执行success也不执行error,此外系统报错:Uncaught SyntaxError: Unexpected identifier at Objec ...
- jquery如何通过ajax请求获取后台数据显示在表格上
1.引入bootstrap和jquery的cdn <link rel="stylesheet" type="text/css" href="ht ...
- Asp.net中JQuery、ajax调用后台方法总结
通过上一篇文章实例的实现,整个过程当中学习到很多知识点,了解了Jquery.Ajax在asp.net中的运用,加以总结,其实原理都是一样的,理解了一种,其他的注意很少的区别就可以了.灵活运用: 1.有 ...
- jsTree通过AJAX从后台获取数据
页面代码: <div id="MenuTree"></div> javascript代码: $(document).ready(function ($) { ...
- 原生js,jquery通过ajax获得后台json数据动态新增页面元素
一.原生js通过ajax获取json数据 因为IE浏览器对ajax对象的创建和其他浏览器不同,为了兼容全部浏览器,我用下面的代码: function createXMLHttpRequest(){ t ...
- ligerUI---ligerGrid分页排序的使用(从后台获取数据显示)
写在前面: 最近项目的前框框架用的是ligerUI,里面用到了ligerGrid表格,下面就来说说从后台获取数据并在前台页面进行完美展示.啊哈哈哈..(天啦,坐我旁边的丽姐貌似炒股 一个月可以搞几十万 ...
- 使用JSONP,jQuery的ajax跨域获取json数据
网上找了很多资料,写的不错,推荐下: 1.深入浅出JSONP--解决ajax跨域问题 (http://www.cnblogs.com/chopper/archive/2012/03/24/240394 ...
随机推荐
- httpd2.4.6配置文件解释说明
本文httpd版本为:2.4.6 ServerRoot 先来看一下httpd.conf配置文件中的ServerRoot默认定义: # cat /etc/httpd/conf/httpd.conf |e ...
- BootStrap小知识随笔
1.让label和input在一行显示 添加class "form-inline"就可以了.如 <table class="table table-bordered ...
- cocos CCLayer glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);ios11闪退 spine动画
搜索一下方法,找到后替换不同内容: void PolygonBatch::flush () { if (!_verticesCount) return; GL::bindTexture2D(_text ...
- reshape的两个函数melt和dcast
reshape Reshape包主要是用来做数据变形的.其中主要的有两个函数melt和dcast1.其中melt主要用于宽变长,而dcast1主要用于长变宽.melt和dcast1是reshape2包 ...
- JNDI是什么
参考文章:---为什么 追本溯源 http://www.cnblogs.com/xx0405/p/5332198.html jndi在Spring和tomcat下的使用: https://www.cn ...
- MySQL单机单实例安装脚本(转载)
说明:使用mysql generic tar.gz包快速安装mysql 三个文件installation_of_single_mysql.sh.template_install-my.cnf.mysq ...
- 事务回滚 try catch
USE tempdb IF OBJECT_ID ('dbo.test') IS NOT NULL DROP TABLE dbo.test GO CREATE TABLE dbo.test ( id I ...
- [IIS]win7下怎么安装IIS
- FPM 0.08安装了打不开解决办法
今天在网上找了FPM软件下载,结果却不能打开,于是到处找资料,终于解决了,呵呵,写下来供大家学习. 用UltraEdit打开FPM.exe,查找"改为8B,F2改为00,然后保存,就可以打开 ...
- C# json帮助类,JsonHelper,Table转JSon,JSon转Table
/// <summary> /// json帮助类 /// </summary> public class JsonHelper { public JsonHelper() { ...