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. numpy中dtype

    简单说明dtype使用方法: Rule为规则类,其中有3个字段,1为类型,2为计算规则,3为保留位数 如 :'close': Rule(float64, 1 / 10000.0, 2), 表示收盘价, ...

  2. (转)PCM数据格式

        1. 音频简介 经常见到这样的描述: 44100HZ 16bit stereo 或者 22050HZ 8bit mono 等等. 44100HZ 16bit stereo: 每秒钟有 4410 ...

  3. HTTP之referer

    安全培训中提到可以通过referer判断安全性,hackbar中也有一个enable referer的选项,则,这个referer到底是个什么角色? (以下是搜集的一些资料整合,链接均放到底部,不再一 ...

  4. RNA_seq GATK 最佳实践

    GATK处理DNA 水平的snp 经验比较成熟,而RNA 水平较少,所以可能会存在错误 目前的流程兼顾了假阳性(不是真的snp位点)和假阴性(该位点是snp,却没有检测到):后续会不断改善     G ...

  5. 7款HTML5精美应用教程 让你立即爱上HTML5

    你喜欢HTML5吗?我想下面的这7个HTML5应用一定会让你爱上HTML5的,不信就一起来看看吧. 1.HTML5/jQuery雷达动画图表 图表配置十分简单 之前我们介绍过不少形形色色的HTML5图 ...

  6. mysql 5.1超过默认8小时空闲时间解决办法(错误:com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure)

    报错: MySQL第二天早上第一次连接超时报错, com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications lin ...

  7. input元素默认选中设置

    单选按钮: 加checked=checked属性 复选框 加checked=checked属性 select下拉框 加selected=selected属性 date日期: value='2018-0 ...

  8. nodejs包管理工具npm

    用Node.js安装模块 在某个项目中单独安装的时候,npm会下载所有的文件到你项目中的一个叫做node_modules的文件夹内 全局模块会被安装到{prefix}/lib/node_modules ...

  9. 使用jquery操作session

    摘要: 今天分享的是使用jquery来处理session.我们将使用sessionStorage对象,它类似与localStorage对象,只是sessionStorage是用来储存session数据 ...

  10. Dubbo -- 系统学习 笔记 -- 配置参考手册

    Dubbo -- 系统学习 笔记 -- 目录 配置参考手册 <dubbo:service/> <dubbo:reference/> <dubbo:protocol/> ...