1.为了使用如图效果(即将按钮放入行内http://www.datatables.net/examples/ajax/null_data_source.html)

采用了另一个数据格式

2.后台php,取表格数据变为:

public function initable(){
$db = M('yanfa_project')->select();
// 取$db的长度
// $len =count($db);
$item=array();
// 循环将$db二维数组每一项的value取出放一个数组里
foreach ($db as &$value) {
array_push($item,array_values($value));
}
// array_push($item,array_values($db[0]),array_values($db[1]));
// echo json_encode($item); $data=[
"data"=>$item,
];
// 本地数据测试
// $data =[
// "data"=> [
// [
// "Michael Bruce",
// "Javascript Developer",
// "Singapore",
// "5384",
// "2011/06/27",
// "$183,000",
// "Javascript Developer",
// "Singapore",
// "5384",
// "2011/06/27",
// "$183,000"
// ],
// [
// "Donna Snider",
// "Customer Support",
// "New York",
// "4226",
// "2011/01/25",
// "$112,000",
// "Javascript Developer",
// "Singapore",
// "5384",
// "2011/06/27",
// "$183,000"
// ]
// ]
// ];
echo json_encode($data);
}

 3.前台js代码

//表格初始化化
var tables=$('.dataTables-example').DataTable({
"processing": true,
// "serverSide": true,
"autoWidth":false,
"ajax":{
"url":"initable",
},
"columnDefs": [{
"targets": -2,//编辑
"data": null,
"defaultContent": "<button id='editrow' class='btn btn-primary' type='button'><i class='fa fa-edit'></i></button>"
},{
"targets": -1,//删除
"data": null,
"defaultContent": "<button id='delrow' class='btn btn-primary' type='button'><i class='fa fa-trash-o'></i></button>"
},
{
"targets": 0,//第一列隐藏
"visible": false,
"searchable": false
}
]
});

数据删除

// 数据删除
$('.dataTables-example tbody').on( 'click', 'button#delrow', function () {
var data = tables.row( $(this).parents('tr') ).data();
$.ajax({
url: 'deltable',
type: 'POST',
dataType: 'json',
data: {id: data[0]},
})
.done(function(data) {
if (data=="success") {
tables.ajax.reload();
};
})
.fail(function() {
alert("error");
});
});

数据编辑

// 数据编辑
$('.dataTables-example tbody').on( 'click', 'button#editrow', function () {
var data = tables.row( $(this).parents('tr') ).data();
var fields = $("#add-form").serializeArray();
jQuery.each( fields, function(i, field){
//jquery根据name属性查找
$(":input[name='"+field.name+"']").val(data[i]);
});
$(":input[name='mark']").val("edit");
$("#modal-form").modal("show");//弹出框show });

为了标记传入后台的是编辑还是删除,使用了<input name='mark' type="hidden" value="add">隐形input在form里。

后台php代码为:

public function addtable(){
$data = $_POST;
$mark=$data['mark'];
unset($data['mark']);
if ($mark=='add') {
if(M('yanfa_project')->add($data)){
$this->ajaxReturn("success");
}
}else{ if(M('yanfa_project')->where(array('id' =>$data['id']))->save($data)){
$this->ajaxReturn("success");
}
}
}

 

三.jquery.datatables.js表格编辑与删除的更多相关文章

  1. 二.jquery.datatables.js表格数据添加

    1.后台php public function addtable(){ $data = $_POST; if(M('yanfa_project')->add($data)){ $this-> ...

  2. 一.jquery.datatables.js表格显示

    2014年8月10日星期日 使用jquery.datatables.js取后台数据. 1.html代码 <table class="dataTables-example"&g ...

  3. js 表格操作----添加删除

    js 表格操作----添加删除 书名:<input type="text" id="name"> 价格:<input type="t ...

  4. Jquery DataTables 获取表格数据及行数据

    注意table变量是 1.jQuery DataTables 行号获取 $("#example tbody tr").on("click", function( ...

  5. JQuery Easyui/TopJUI表格基本的删除功能(删除当前行和多选删除)

    需求:数据表格datagrid实现删除当前行和多选删除的功能. html <a href="javascript:void(0)" data-toggle="top ...

  6. JQuery插件之Jquery.datatables.js用法及api

    1.DataTables的默认配置 $(document).ready(function() { $('#example').dataTable(); } ); 示例:http://www.guoxk ...

  7. Jquery.Datatables dom表格定位

    Datatables会添加一些控制元素在表格的周围,比如默认状态下改变每页显示条数(l)的空间在左上角,即使搜索框(f)在右上角,表格的信息(i)显示在左下角,分页控件(p)显示在右下角. 这些控件在 ...

  8. Jquery.Datatables dom表格定位 (转)

    Datatables会添加一些控制元素在表格的周围,比如默认状态下改变每页显示条数(l)的空间在左上角,即使搜索框(f)在右上角,表格的信息(i)显示在左下角,分页控件(p)显示在右下角. 这些控件在 ...

  9. Jquery DataTables 获取表格数据

    1.获取表格所有数据 function getTableContent(){ var nTrs = table.fnGetNodes();//fnGetNodes获取表格所有行,nTrs[i]表示第i ...

随机推荐

  1. C#基础 ---------------单利模式

    一.引言 最近在设计模式的一些内容,主要的参考书籍是<Head First 设计模式>,同时在学习过程中也查看了很多博客园中关于设计模式的一些文章的,在这里记录下我的一些学习笔记,一是为了 ...

  2. ICMP Ping模版实现对客户端网络状态的监控

    Zabbix使用外部命令fping处理ICMP ping的请求,fping不包含在zabbix的发行版本中,需要额外去下载安装fping程序,安装完毕之后需要zabinx_server.conf中的参 ...

  3. AngularJS.directive系列:嵌套directive的通讯及scope研究

    一.directive中的scope directive无疑是AngularJS中比较复杂难懂的部分,而directive中个scope更是其中最复杂的部分了,尤其是在嵌套directive中互相通讯 ...

  4. JDBC数据库基本操作

    1.什么是JDBC? 在看JDBC的概念之前先来看看什么是数据库驱动. 数据库驱动中驱动的概念和平时听到的那种驱动的概念是一样的,比如平时购买的声卡,网卡直接插到计算机上面是不能用的,必须要安装相应的 ...

  5. 浅谈java中"&&"和"&"的区别

    “&&”和”&”都是java中的逻辑运算符,并且它们都表示“逻辑与”即“同真则真,有一假则假”,它们的区别在于”&&”具有短路功能,即如果左边是false,则右 ...

  6. phpstorm 初体验

    最近在学php,今天想要读一下公司刚外包网站的源代码,要安装一个php的集成环境,因最开始用过JetBrains的pycharm觉得很好用,这会儿还选用该家产品PHPStorm(为啥storm这个词, ...

  7. 扫盲 -- What's MOOC ?

    FAQ 1. MOOC是什么? 2. xMOOC又是什么? 它与之前在中国大陆网络上风靡一时的国外大学"公开课"有什么区别?3. xMOOC什么时候, 怎样出现的? 4. 有哪些网 ...

  8. Go之获取Windows下文件是否隐藏

    起初,做了个小程序,用来检测磁盘中所有的文件 package main import( "fmt" "io/ioutil" "os" ) v ...

  9. switch和continue的关系

    突然想到 我们用 switch都是用 break return等关键字来配合,有没有一种情况下是用continue呢?而且如果真的出现了continue,结果是什么样的呢?

  10. WPF依赖属性相关博客导航

    1.一站式WPF--依赖属性(DependencyProperty)一(什么是依赖属性,依赖属性的由来) 2.一站式WPF--依赖属性(DependencyProperty)二(涉及依赖属性的使用) ...