热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

jquerydatatable实现表格加载,分页和删除功能

近期更换技术,采用bootstrap的布局方式来进行项目编写,由于bootstrap为前端布局框架,好多功能实现需要借助插件完成,比如表格的实现。由于第一次接触datatable插

近期更换技术,采用bootstrap的布局方式来进行项目编写,由于bootstrap为前端布局框架,好多功能实现需要借助插件完成,比如表格的实现。

由于第一次接触datatable插件,找了好长时间的资料才找齐一套不太完整的方案(至少能进行项目),贴出代码,自己巩固一下知识,也给遇到相同问题的朋友一个解决思路。

引用data-table的css和js。

/vendors/dataTables/css/dataTables.bootstrap.min.css" rel="stylesheet">


我这边采用了bootscript风格的分页样式,所以会有 dataTables.bootstrap.min.css 和 dataTables.bootstrap.min.js。

分页代码:

var lang = {
"sProcessing": "处理中...",
"sLengthMenu": "每页 _MENU_ 条",
"sZeroRecords": "没有匹配结果",
"sInfo": "当前显示第 _START_ 至 _END_ 条,共 _TOTAL_ 条。",
"sInfoEmpty": "当前显示第 0 至 0 条,共 0 条",
"sInfoFiltered": "(由 _MAX_ 项结果过滤)",
"sInfoPostFix": "",
"sSearch": "本地搜索:",
"sUrl": "",
"sEmptyTable": "暂无数据",
"sLoadingRecords": "载入中...",
"sInfoThousands": ",",
"oPaginate": {
"sFirst": "首页",
"sPrevious": "上页",
"sNext": "下页",
"sLast": "末页",
"sJump": "跳转"
}
};
// 网上抄的显示信息。
$('#id').dataTable({
"language": lang, //提示信息
"autoWidth": false, //自适应宽度,
"searching": false, //是否允许Datatables开启本地搜索
"paging": true, //是否开启本地分页
"lengthChange": false, //是否允许产品改变表格每页显示的记录数
"info": true, //控制是否显示表格左下角的信息
//跟数组下标一样,第一列从0开始,这里表格初始化时,第四列默认降序
"scrollX": true,
"ordering": false,
"iDisplayLength": 20,
"serverSide": false,
// 重点是进行ajax请求和数据加载。
“ajax”:{
"url": that._servlets.search,
"type": 'POST',
"dataType": 'json',
"data": function () {
// data为参数传递,其他传递方式我没有尝试。
return JSON.stringify(dataJson);
}
},
"columns":[
{"data": "id", "className": "hide"},
{"data": "sequenceNum"},
{"data": "name"},
{
// 这里是编辑和删除两个按钮的书写方式。
"data": function (obj) {
return '编辑 '
}
}
]
});

上面这样就可以实现ajax请求数据并且加载到表格了,但是有个问题就是json数据必须带有一个标识才能正常的在columns里面调用数据,这里我没有找到合适的办法。

《jquery-datatable实现表格加载,分页和删除功能》《jquery-datatable实现表格加载,分页和删除功能》

json的格式需要有一个“data”的东西才行,这个和columns里面的data是对应的。

下面是删除功能的实现

var id = '';
var tables = $('#dvgDiseaseCategory').DataTable();
$('#dvgDiseaseCategory tbody').on('click', 'button#btnDelete', function () {
var data = tables.row($(this).parents('tr')).data();
id = data.id;
});
// 大概意思就是获取到点击删除按钮的这一行,然后根据行来找到其中的数据组,然后再提取对应的数据。我这边是把id提取出来,再外部进行的删除方法。
// 删除方法的实现就是点击删除按钮时,弹出一个bootstrap的模态框,再点击模态框的确定按钮时,执行一次删除的ajax请求,然后再进行一次加载查询的函数更新表格。

在这里会出现一个问题,再次加载查询函数调用datatable时,会弹出一个好多东西的弹出框,我查资料以后,认为时再次调用时上一次的datatable组件还在。虽然不知道理解的对不对,但是解决方案就是在其他地方再次调用datatable时,必须先将上一次的datatable组件销毁,这样就能顺利调用了。

销毁datatable组件的方式:

var table = $('#id').dataTable();
//如果datatable存在,将其销毁。
if(table){
table.fnDestroy();
}
//销毁之后在调用。
search();


推荐阅读
  • 本文讨论了如何在codeigniter中识别来自angularjs的请求,并提供了两种方法的代码示例。作者尝试了$this->input->is_ajax_request()和自定义函数is_ajax(),但都没有成功。最后,作者展示了一个ajax请求的示例代码。 ... [详细]
  • Ihavethefollowingonhtml我在html上有以下内容<html><head><scriptsrc..3003_Tes ... [详细]
  • Spring常用注解(绝对经典),全靠这份Java知识点PDF大全
    本文介绍了Spring常用注解和注入bean的注解,包括@Bean、@Autowired、@Inject等,同时提供了一个Java知识点PDF大全的资源链接。其中详细介绍了ColorFactoryBean的使用,以及@Autowired和@Inject的区别和用法。此外,还提到了@Required属性的配置和使用。 ... [详细]
  • 本文介绍了Java后台Jsonp处理方法及其应用场景。首先解释了Jsonp是一个非官方的协议,它允许在服务器端通过Script tags返回至客户端,并通过javascript callback的形式实现跨域访问。然后介绍了JSON系统开发方法,它是一种面向数据结构的分析和设计方法,以活动为中心,将一连串的活动顺序组合成一个完整的工作进程。接着给出了一个客户端示例代码,使用了jQuery的ajax方法请求一个Jsonp数据。 ... [详细]
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • 本文讨论了在Spring 3.1中,数据源未能自动连接到@Configuration类的错误原因,并提供了解决方法。作者发现了错误的原因,并在代码中手动定义了PersistenceAnnotationBeanPostProcessor。作者删除了该定义后,问题得到解决。此外,作者还指出了默认的PersistenceAnnotationBeanPostProcessor的注册方式,并提供了自定义该bean定义的方法。 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • springmvc学习笔记(十):控制器业务方法中通过注解实现封装Javabean接收表单提交的数据
    本文介绍了在springmvc学习笔记系列的第十篇中,控制器的业务方法中如何通过注解实现封装Javabean来接收表单提交的数据。同时还讨论了当有多个注册表单且字段完全相同时,如何将其交给同一个控制器处理。 ... [详细]
  • FeatureRequestIsyourfeaturerequestrelatedtoaproblem?Please ... [详细]
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
  • Android实战——jsoup实现网络爬虫,糗事百科项目的起步
    本文介绍了Android实战中使用jsoup实现网络爬虫的方法,以糗事百科项目为例。对于初学者来说,数据源的缺乏是做项目的最大烦恼之一。本文讲述了如何使用网络爬虫获取数据,并以糗事百科作为练手项目。同时,提到了使用jsoup需要结合前端基础知识,以及如果学过JS的话可以更轻松地使用该框架。 ... [详细]
  • JavaWeb中读取文件资源的路径问题及解决方法
    在JavaWeb开发中,读取文件资源的路径是一个常见的问题。本文介绍了使用绝对路径和相对路径两种方法来解决这个问题,并给出了相应的代码示例。同时,还讨论了使用绝对路径的优缺点,以及如何正确使用相对路径来读取文件。通过本文的学习,读者可以掌握在JavaWeb中正确找到和读取文件资源的方法。 ... [详细]
  • 用Vue实现的Demo商品管理效果图及实现代码
    本文介绍了一个使用Vue实现的Demo商品管理的效果图及实现代码。 ... [详细]
  • 本文讨论了在shiro java配置中加入Shiro listener后启动失败的问题。作者引入了一系列jar包,并在web.xml中配置了相关内容,但启动后却无法正常运行。文章提供了具体引入的jar包和web.xml的配置内容,并指出可能的错误原因。该问题可能与jar包版本不兼容、web.xml配置错误等有关。 ... [详细]
author-avatar
JoanNewLife
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有