代码:

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从后台获取数据显示在表格上(复选)的更多相关文章

  1. jquery通过AJAX从后台获取信息并显示在表格上的类

    前一阵我写了:<jquery通过AJAX从后台获取信息并显示在表格上,并支持行选中.>现在,我把他们处理了一下,不需要每次写代码了: 具体代码如下: //获取数据并显示数据表格 funct ...

  2. jquery通过AJAX从后台获取信息并显示在表格上,并支持行选中

    不想用Easyui的样式,但是想要他的表格功能,本来一开始是要到网上找相关插件的,但是没找到就开始自己写,没想到这么简单. 后台代码:(这个不重要) public ActionResult GetDi ...

  3. jquery中ajax请求后台数据成功后既不执行success也不执行error解决方法

    jquery中ajax请求后台数据成功后既不执行success也不执行error,此外系统报错:Uncaught SyntaxError: Unexpected identifier at Objec ...

  4. jquery如何通过ajax请求获取后台数据显示在表格上

    1.引入bootstrap和jquery的cdn <link rel="stylesheet" type="text/css" href="ht ...

  5. Asp.net中JQuery、ajax调用后台方法总结

    通过上一篇文章实例的实现,整个过程当中学习到很多知识点,了解了Jquery.Ajax在asp.net中的运用,加以总结,其实原理都是一样的,理解了一种,其他的注意很少的区别就可以了.灵活运用: 1.有 ...

  6. jsTree通过AJAX从后台获取数据

    页面代码: <div id="MenuTree"></div> javascript代码: $(document).ready(function ($) { ...

  7. 原生js,jquery通过ajax获得后台json数据动态新增页面元素

    一.原生js通过ajax获取json数据 因为IE浏览器对ajax对象的创建和其他浏览器不同,为了兼容全部浏览器,我用下面的代码: function createXMLHttpRequest(){ t ...

  8. ligerUI---ligerGrid分页排序的使用(从后台获取数据显示)

    写在前面: 最近项目的前框框架用的是ligerUI,里面用到了ligerGrid表格,下面就来说说从后台获取数据并在前台页面进行完美展示.啊哈哈哈..(天啦,坐我旁边的丽姐貌似炒股 一个月可以搞几十万 ...

  9. 使用JSONP,jQuery的ajax跨域获取json数据

    网上找了很多资料,写的不错,推荐下: 1.深入浅出JSONP--解决ajax跨域问题 (http://www.cnblogs.com/chopper/archive/2012/03/24/240394 ...

随机推荐

  1. httpd2.4.6配置文件解释说明

    本文httpd版本为:2.4.6 ServerRoot 先来看一下httpd.conf配置文件中的ServerRoot默认定义: # cat /etc/httpd/conf/httpd.conf |e ...

  2. BootStrap小知识随笔

    1.让label和input在一行显示 添加class "form-inline"就可以了.如 <table class="table table-bordered ...

  3. cocos CCLayer glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);ios11闪退 spine动画

    搜索一下方法,找到后替换不同内容: void PolygonBatch::flush () { if (!_verticesCount) return; GL::bindTexture2D(_text ...

  4. reshape的两个函数melt和dcast

    reshape Reshape包主要是用来做数据变形的.其中主要的有两个函数melt和dcast1.其中melt主要用于宽变长,而dcast1主要用于长变宽.melt和dcast1是reshape2包 ...

  5. JNDI是什么

    参考文章:---为什么 追本溯源 http://www.cnblogs.com/xx0405/p/5332198.html jndi在Spring和tomcat下的使用: https://www.cn ...

  6. MySQL单机单实例安装脚本(转载)

    说明:使用mysql generic tar.gz包快速安装mysql 三个文件installation_of_single_mysql.sh.template_install-my.cnf.mysq ...

  7. 事务回滚 try catch

    USE tempdb IF OBJECT_ID ('dbo.test') IS NOT NULL DROP TABLE dbo.test GO CREATE TABLE dbo.test ( id I ...

  8. [IIS]win7下怎么安装IIS

  9. FPM 0.08安装了打不开解决办法

    今天在网上找了FPM软件下载,结果却不能打开,于是到处找资料,终于解决了,呵呵,写下来供大家学习. 用UltraEdit打开FPM.exe,查找"改为8B,F2改为00,然后保存,就可以打开 ...

  10. C# json帮助类,JsonHelper,Table转JSon,JSon转Table

    /// <summary> /// json帮助类 /// </summary> public class JsonHelper { public JsonHelper() { ...