三.jquery.datatables.js表格编辑与删除

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表格编辑与删除

时间: 2024-08-11 09:52:13

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

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

1.后台php public function addtable(){ $data = $_POST; if(M('yanfa_project')->add($data)){ $this->ajaxReturn("success"); } } 二.jquery.datatables.js表格数据添加

一.使用jquery.datatables.js

2014年8月10日星期日 使用jquery.datatables.js取后台数据. 1.html代码 <table class="dataTables-example"> <thead> <tr> <th>id</th> <th>项目</th> <th>内容</th> <th>所属公司</th> <th>开始日期</th> <

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

注意table变量是 1.jQuery DataTables 行号获取 $("#example tbody tr").on("click", function() {var index = $(this).context._DT_RowIndex; //行号}); 2.获取表格所有数据 function getTableContent(){ var nTrs = table.fnGetNodes();//fnGetNodes获取表格所有行,nTrs[i]表示第i行t

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

1.DataTables的默认配置 $(document).ready(function() { $('#example').dataTable(); } ); 示例:http://www.guoxk.com/html/DataTables/Zero-configuration.html 2.DataTables的一些基础属性配置 "bPaginate": true, //翻页功能 "bLengthChange": true, //改变每页显示数据数量 "

jquery DataTables表格插件的使用(网页数据表格化及分页显示)

DataTables - 非常强大的 jQuery 表格插件,可变宽页码浏览,现场过滤. 多列排序,自动探测数据类型,智能列宽,可从几乎任何数据源获取数据. 那么在Bootstrap下如何使用DataTables: 只需要在html或ejs下引用写好的样式表css和脚本文件js,对应代码如下: 1 <head> 2 <link href="http://apps.bdimg.com/libs/bootstrap/3.0.3/css/bootstrap.min.css"

.Net MVC&amp;&amp;datatables.js&amp;&amp;bootstrap做一个界面的CRUD有多简单

我们在项目开发中,做得最多的可能就是CRUD,那么我们如何在ASP.NET MVC中来做CRUD呢?如果说只是单纯实现功能,那自然是再简单不过了,可是我们要考虑如何来做得比较好维护比较好扩展,如何做得比较漂亮.做开发要有工匠精神,不要只求完成开发任务,那样的话,永远停留在只是简单的写业务逻辑代码水平,我们要做有追求的程序员.本来这么简单的东西,我真是懒得写,但是看到即便是一些工作了好些年的人,做东西也是只管实现功能,啥都不管,还有些界面css样式要么就硬编要么就毫无规则的在页面中进行穿插,遇到要

jquery datatables api

原文地址 学习可参考:http://www.guoxk.com/node/jquery-datatables http://yuemeiqing2008-163-com.iteye.com/blog/2006942 分别导入css和js文件 <link href="~/Content/bootstrap.css" rel="stylesheet" /> <link href="~/Content/datatables/css/dataTa

jquery datatables api (转)

学习可参考:http://www.guoxk.com/node/jquery-datatables http://yuemeiqing2008-163-com.iteye.com/blog/2006942 1:导入包: URL:http://www.datatables.net/ 分别导入css和js文件 Html代码   <style type="text/css" title="currentStyle"> @import "css/dem

datatables 前端表格插件 增删改查功能

官方网站:http://datatables.club/example/<!-- DataTables CSS -->css引入的<link rel="stylesheet" type="text/css" href="http://cdn.datatables.net/1.10.7/css/jquery.dataTables.css"> <!-- jQuery --><script type="