HTML页面:

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<center>
<table>
<tr>
<td><input type="checkbox"></td>
<td>位置</td>
<td>房源</td>
<td>房源面积</td>
<td>计租面积</td>
<td>户型</td>
<td>建筑结构</td>
<td>租赁性质</td>
<td>状态</td>
{switch name="$list.u_name"}
{case value="root"} <td>操作</td>{/case}
{case value="admin"}{/case}
{/switch} </tr>
<tbody class="tby">
{volist name="list.data" id="v"}
<tr id="{$v.f_id}">
<td><input type="checkbox" class="box"></td>
<td>{$v.f_wei}</td>
{switch name="$list.u_name"}
{case value="root"} <td class="ww" fd="f_name">{$v.f_name}</td>{/case}
{case value="admin"}<td >{$v.f_name}</td>{/case}
{/switch}
<td>{$v.f_mian}</td>
<td>{$v.f_ji}</td>
<td>{$v.f_hu}</td>
<td>{$v.f_jian}</td>
<td>{$v.f_zu}</td>
<td>{$v.f_static}</td>
{switch name="$list.u_name"}
{case value="root"} <td><a href="javascript:void(0);" class="shan">删除</a></td>{/case}
{case value="admin"}{/case}
{/switch}
</tr>
{/volist}
</tbody>
<input type="hidden" value="1" class="shou_page">
<input type="hidden" value="{$list.zong_page}" class="wei_page">
</table>
<button class="pre">首页</button>
<button class="pre">上一页</button>
<button class="pre">下一页</button>
<button class="pre">尾页</button>
</center>
<script src="__STATIC__/js/jquery.min.js"></script>
<script>
//即点即改
$(document).on("dblclick",".ww",function () {
var fd_val=$(this).attr("fd");
var html_val=$(this).text();
var id=$(this).parents("tr").attr("id");
//替换
$(this).html('<input type="text" id="'+fd_val+html_val+'" value="'+html_val+'">') $("#"+fd_val+html_val).blur(function () {
var new_val=$(this).val();
$(this).parents("td").text(new_val);
//请求
$.post(
"{:url('access/ji_gai')}",
{
id:id,
new_val:new_val,
fd_val:fd_val
},
function (data) { }
)
})
})
//分页
$(document).on("click",".pre",function () {
var pre=$(this).text();
var shou_page=$(".shou_page").val();
var wei_page=$(".wei_page").val();
var p="";
if(pre=="首页")
{
p=1;
}else if(pre=="上一页")
{
p=parseInt(shou_page)-1<1?1:parseInt(shou_page)-1;
}else if(pre=="下一页")
{
p=parseInt(shou_page)+1>wei_page?wei_page:parseInt(shou_page)+1;
}else if(pre=="尾页")
{
p=wei_page;
}
//请求
$.post(
"{:url('access/show_json')}",
{
page:p
},
function (data) {
var res=JSON.parse(data)
var res_list=res.data
var name=res.u_name
if(name=="root")
{
var aa=' <td><a href="javascript:void(0);" class="shan">删除</a></td>';
var bb='class="ww" fd="f_name"';
}
var str="";
$.each(res_list,function (k, v) {
str+='<tr id="'+v.f_id+'">';
str+='<td><input type="checkbox" class="box"></td>'
str+='<td>'+v.f_wei+'</td>'
str+='<td '+bb+'>'+v.f_name+'</td>'
str+='<td>'+v.f_mian+'</td>'
str+='<td>'+v.f_ji+'</td>'
str+='<td>'+v.f_hu+'</td>'
str+='<td>'+v.f_jian+'</td>'
str+='<td>'+v.f_zu+'</td>'
str+='<td>'+v.f_static+'</td>'
str+=''+aa+'';
str+='</tr>';
})
$(".tby").html(str)
$(".shou_page").val(p)
}
) })
//删除
$(document).on("click",".shan",function () {
var id=$(this).parents("tr").attr("id");
//请求
$.post(
"{:url('access/dan_del')}",
{
id:id
},
function (data) {
var re=JSON.parse(data)
if(re==1)
{
alert("单删成功")
document.getElementById(id).remove();
}else if(re==2)
{
alert("单删失败")
}
}
)
})
</script>
</body>
</html>
PHP页面:
<?php
namespace app\index\controller; use think\Controller;
use think\Db;
use think\Request;
use think\Session;
use app\index\model\Fang_yuan;
use app\index\controller\Commen;
class Access extends Commen
{
//页面分页展示
public function fang_list()
{
$user=Session::get("user",'think');
$u_name=$user['u_name'];
$p=Request::instance()->param("page");
$page=empty($p)?1:$p;
$count=Db::table("fang_yuan")->count();
$tiao=3;
$zong_page=ceil($count/$tiao);
$limit=($page-1)*$tiao;
$data=Db::table("fang_yuan")->limit($limit,$tiao)->select();
$list=['data'=>$data,'zong_page'=>$zong_page,'u_name'=>$u_name];
return view("show",['list'=>$list]);
}
//分页的json格式
public function show_json()
{
$user=Session::get("user",'think');
$u_name=$user['u_name'];
$p=Request::instance()->param("page");
$page=empty($p)?1:$p;
$count=Db::table("fang_yuan")->count();
$tiao=3;
$zong_page=ceil($count/$tiao);
$limit=($page-1)*$tiao;
$data=Db::table("fang_yuan")->limit($limit,$tiao)->select();
$list=['data'=>$data,'zong_page'=>$zong_page,'u_name'=>$u_name];
echo json_encode($list);
}
//单删
public function dan_del()
{
$id=Request::instance()->param("id");
$aa=new Fang_yuan();
$a=$aa->del($id);
if($a)
{
echo json_encode(1);
}else{
echo json_encode(2);
}
}
//即点即改
public function ji_gai()
{
$id=Request::instance()->param("id");
$new_val=Request::instance()->param("new_val");
$fd_val=Request::instance()->param("fd_val");
$a=Db::table("fang_yuan")->where("f_id='$id'")->update(["$fd_val"=>"$new_val"]);
if($a)
{
return 1;
}else{
return 2;
}
}
}
 

TP5中即点即改,json分页,单删的更多相关文章

  1. jquery实现分页+单删批删

    //定义一个分页的方法 public function fenye(){ //查询满足条件的总条数 $count = M("regis")->count(); //设置每页显 ...

  2. tp5中的一些小方法

    // 当使用一个新页面替换当前页面的body后,body刷新了,所选择的select值就不能保存住,解决方法如下: 作业题目<select> <option>--请选择--&l ...

  3. EasyUI学习笔记(1)----Tree控件实现过程中.NET下无法访问json数据的解决办法

    直接调用官网的Demo中的方法 , 将json数据存储在同目录下,但是在运行之后树没有出现,用FireBug调试,错误如下 不允许访问json数据,刚开始以为是权限不够,然后又给解决方案所在的文件夹设 ...

  4. TP5中隐藏入口文件的问题 - CSDN博客

    使用phpstudy和linux部署的时候 tp5中的官方说明是在入口文件的同级目录下添加一个.htaccess文件 文件内容如下: <IfModule mod_rewrite.c>Opt ...

  5. 利用查询条件对象,在Asp.net Web API中实现对业务数据的分页查询处理

    在Asp.net Web API中,对业务数据的分页查询处理是一个非常常见的接口,我们需要在查询条件对象中,定义好相应业务的查询参数,排序信息,请求记录数和每页大小信息等内容,根据这些查询信息,我们在 ...

  6. asp.net中webservice与android的json数据交互方式设置

    一 .服务器端设置 1.修改web.config 在web.config里面的的system.Web节点添加 <webServices> <protocols> <add ...

  7. Upcase 将edit1中的每个字符串改为首字母大写

    //将edit1中的每个字符串改为首字母大写 procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);begin    with ...

  8. PHP中遍历stdclass object 及 json

    原文:PHP中遍历stdclass object 及 json (从网上找的模拟实例)需要操作的数据: $test=Array ( [0] => stdClass Object ( [tags] ...

  9. 网页中如何用 CSS 设置打印分页符

    Word 中按 Ctrl + Enter 创建一个分页符,方便打印,其实网页中也可以,用 CSS 的 page-break-after:always;. <p>第 1 页</p> ...

随机推荐

  1. Flutter的脚手架(Scaffold)

  2. 自己网盘的页面生成器(私用公开-Golang)

    虽说我的网盘(exm,也许页面确实丑了点,不过页面生成的样式你自己可以改)美工已经被乱刀砍死,但是还是有小伙伴问我是怎么搭建的 关于搭建 这个真没什么好说的,vps我只安装了nginx,然后配置域名指 ...

  3. centos7重新调整分区大小

    As others have pointed out, XFS filesystem cannot be shrunk. So your best bet is to backup /home, re ...

  4. HIHOcoder1465 后缀自动机五·重复旋律8

    思路 后缀自动机求最长循环串 首先有一个常用的处理技巧,将串复制一遍,长度大于n的子串中就包含了一组循环子串 然后是后缀自动机如何处理最长公共子串的问题 维护两个变量,u和l,u代表当前位置的最长公共 ...

  5. [jsp] - jsp引入c标签出错

    jsp引入c标签出错, 因为之前使用thymeleaf,将jsp的依赖删除了.(这里应该采用注释而非删除,但以为项目就一直用thymeleaf了) <%@ taglib uri="ht ...

  6. Python打印矩形、直角三角形、等腰三角形、菱形

    思路如下: (1)先打印一个星号并换行 print("*") (2)打印一行6个星号 for i in range(6): print("*", end=&qu ...

  7. Python学习 day04打卡

    今天学习的主要内容: 一,列表 1,列表的介绍 列表是python的基础数据类型之一,其他编程语音也有类似的数据类型.例如:JS 中的数组Java中的数组等等. 它是以[]括起来,每个元素用',隔开而 ...

  8. Python dict 将元祖转成字典

    dict 关键字 dict3=dict(((),(),())) #dict 只有一个参数 输出:{'a': 97, 'b': 98, 'c': 99}

  9. burp suite 的intruder 四种攻击方式

    一:sniper[狙击手] 这种攻击基于原始的请求内容,需要一个字典,每次用字典里的一个值去代替一个待攻击的原始值. 攻击次数=参数个数X字典内元素个数 例如:原始请求中 name=aa , pass ...

  10. BZOJ 4584 【APIO2016】 赛艇

    题目链接:赛艇 讲道理好好的Boat为啥要翻译成赛艇呢……题面中不也是划艇么…… 这道题考虑一下dp.由于划艇数量过于庞大,所以肯定不能直接记录到dp状态中.所以一个想法就是把数量离散化,然后把每个学 ...