tp5框架基于Ajax实现列表无刷新排序功能示例

来源:脚本之家  责任编辑:小易  

return 直接改成输出就可以在ajax的data中看到了但是你要把你的ajax dadaType

本文实例讲述了tp5框架基于Ajax实现列表无刷新排序功能。分享给大家供大家参考,具体如下:

eq(i),map).length == 0) {18 alert("

在后台管理的时候我们有时需要对数据进行排序,以控制数据在模板显示的顺序,排序的原理就是修改数据库,然后更新视图。我们可以单独写一个方法来实现排序的功能,成功后刷新页面,也可以利用Ajax技术,实现数据的局部请求,也就是无刷新排序的功能。

分页数据用model的page();也就是where()->page($page,5)->

现在想要达到的效果是在排序的input框中输入数值,点击排序实现无刷新排序的功能。

如果你用Chrome,就按F12打开开发工具,然后切换到Network面板看下具体请求。

首先是表格(cate.html)这一块我们要单独摘出来,放入到一个单独页面当中,方便我们数据的请求。

验证码为什么要用jquery获取

<table class="table table-bordered"> {include file="news/cateajaxpage"} </table>

我们人类的肉眼能否看到某个物体,取决于是否有足够多的由该物体所发射或者反射的光子进入我们的眼睛并让视神经感知到。如果光源有很强的发射光子的能力,比如我们的太阳,那么即使它离得比较远(1.5亿公里),也能让我们感受到它明亮的光辉;如果光源离得比较近(15厘米?),比如我们的手机屏幕,那么即使它发的光并不太强(太强了的话手机电池怕是要撑不住了),也足以让我们在阳光下看清楚屏幕上的字和图像。这样以来题主的问题就相当于:是否有单颗恒星可以发射足够强的光,可以让我们在星系尺度上看见它?答案是对于普通恒星是做不到的。我们银河系直径有十多万光年,假设距离我们十万光年外有一颗普通恒星,即使它发出的光子没有受到

其中cateajaxpage.html的内容为:

不知道楼主坐标何地,不过新英朗目前市场普遍优惠2万左右(当然更高的优惠是有附加条件的),如果嫌当地4S店优惠少可以去邻近城市看一下。再说说新英朗是否值得购买的问题,其实这个要看个人的购车需求。新英朗定位家用紧凑级轿车,竞争对手在大众朗逸、日产轩逸等,而其自上市以来销量也是节节攀升,曾经有几个月一度打败朗逸坐上了销量冠军的位置。新英朗官方指导价10.99-15.09万,不过普遍2万甚至更多的优惠幅度,让这款合资紧凑级轿车的起售价下探到了7万余元,在价格方面比朗逸要更加有优势。新英朗在外观方面采用的别克家族式设计,整体比较年轻大气,直瀑式前进气格栅、LED日间行车灯造型是亮点,侧面灵动的腰线也是别

<thead> <tr> <th>ID</th> <th>分类名称</th> <th>排序</th> <th>操作</th> </tr> </thead> <tbody> {volist name="news" id="vo"} <tr> <td>{$vo.id}</td> <td>{$vo.name}</td> <td><input type="text" value="{$vo.order}" name="{$vo.id}"></td> <td> <div class="btn-group open"> <button data-toggle="dropdown" class="btn btn-primary dropdown-toggle" aria-expanded="true">操作 <span class="caret"></span> </button> <ul class="dropdown-menu"> <li><a href="{:url('admin/news/cateadd',array('id'=>$vo.id))}" rel="external nofollow" >添加子分类</a> </li> <li><a href="{:url('admin/news/cateupd',array('id'=>$vo.id))}" rel="external nofollow" >修改</a> </li> <li><a href="javascript:if(confirm('确认删除?')) location='{:url('admin/news/del',array('id'=>$vo.id))}'" rel="external nofollow" >删除</a> </li> </ul> </div> </td> </tr> {volist name="$vo.children" id="vo1"} <tr> <td>{$vo1.id}</td> <td>|————{$vo1.name}</td> <td><input type="text" value="{$vo1.order}" name="{$vo1.id}"></td> <td> <div class="btn-group open"> <button data-toggle="dropdown" class="btn btn-primary dropdown-toggle" aria-expanded="true">操作 <span class="caret"></span> </button> <ul class="dropdown-menu"> <li><a href="{:url('admin/news/cateupd',array('id'=>$vo1.id))}" rel="external nofollow" >修改</a> </li> <li><a href="javascript:if(confirm('确认删除?')) location='{:url('admin/news/del',array('id'=>$vo1.id))}'" rel="external nofollow" >删除</a> </li> </ul> </div> </td> </tr> {/volist} {/volist} </tbody>

一直以来,大家对于各直播平台主播显示用户观看人数与真实在线观众数量相差甚远的情况心知肚明。对此闪电站小猪曾多次站出来抨击过这种普遍造假的现象,直播平台主播显示观看人数实际上是真实在线用户乘以一个相对应的系数得来的。斗鱼观众数量造假的系数到底是多少?原WE队员微笑近日在斗鱼直播英雄联盟时,其显示观看人数竟然超过13亿!而根据相关数据显示,2015年中国全国人口数量才13.6,中国网民数量不超过7亿。斗鱼如此丧心病狂的造假彻底激怒了电竞良心人士闪电站小猪小苍MM新近加盟斗鱼观看人数120万,B神加盟斗鱼观看人数100万,连个菜鸡Yao老弟首秀都有60万人来捧场。大家都别玩游戏了,跑去看斗鱼直播吧。

这里因为使用了无限级分类得到多维数组的技术,所以会有两个volist,如果你不太懂无限级分类的话可以分配过来一个普通的数据过来,重点是:

狗狗得了细小其实并不可怕,简单几招教您在家对抗细小病毒。细小俗称翻肠子,时常能听见狗狗肚子咕噜咕噜的,通俗点来讲就好像人类的急性肠炎。关注微信公众号:宠物微星球(gougou0014)免费领取宠物训练教程一套,并且可以加入我们的社群,新手快速学习如何喂养宠物,老手分享与宠物的点点滴滴!问:为什么要禁食禁水?其实,细小发病常伴随呕吐+拉稀,如果长时间拉吐,会造成胃肠粘膜受损,进而造成拉血呕血的症状,如果不能及时止血会造成胃肠糜烂甚至穿孔。禁食禁水主要是为了缓解狗狗拉吐的症状。问:狗狗禁食禁水会有生命危险吗?答:人长期不吃不喝都会有危险,更何况狗狗呢。在治疗期间,一定要给狗狗补充营养和补充体液,防

<input type="text" value="{$vo.order}" name="{$vo.id}"></td>

这句在显示排序值得同时,为每一个input框设置了一个name值,这个值就是分类的id值,通过这种方式,可以为列表当中的所有input框进行区分,且能通过数据库获取到对应的分类。

回到cate.html,写Ajax:

$("#changeOrder").click(function(event) { /* Act on the event */ var json = {}; $("input").not('#top-search').each(function(index, el) { json[$(this).attr('name')] = $(this).val(); }); $.ajax({ url: '{:url("admin/news/cate")}', type: 'post', data: json }) .done(function(data) { $(".table-bordered").html(data); $(document).click(); }) });

其中changeOrder是我们为排序按钮添加的id值,我们把每一组id、order都放进json变量当中,传递给控制器。

控制器代码:

public function cate() { $news_model = model("Newsfenlei"); if (request()->isAjax()) { $post = input('post.'); foreach ($post as $key => $value) { db("newsfenlei")->where('id',$key)->update(['order'=>$value]); } $list = db("newsfenlei")->order('order desc')->select(); $news = $news_model->getNews($list); $this->assign("news",$news); return view('cateajaxpage'); } else { $list = db("newsfenlei")->order('order desc')->select(); $news = $news_model->getNews($list); $this->assign("news",$news); return view(); } }

因为涉及到无限级分类,所以使用了模型层获取数据,getNews方法是获取到无限级分类后的数据,这块大家可以直接使用数据库获取数据,需要注意的是处理Ajax请求的时候,我们根据POST信息进行数据更新,再数据更新以后再查询数据库,将数据分配到模板上。

更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

扩展阅读,根据您访问的内容系统为您准备了以下内容,希望对您有帮助。

thinkphp5框架如何实现ajax无刷新分页呢?

那你每次点击的页数通过ajax传入请求的方法里,请求的方法中再通过你的数值对整组数据进行划分,比如每页20条,第一页是limit(0,20),第二页是limit(20,20),第三页是limit(40,20),那么你的页数乘以20再减去20就是limit()的第一个参数,第二个参数为20。如果每页为40页的话则是你的页数乘以40再减去40;查询出数据后在返回给ajax,通过jquery刷新便是本回答被提问者采纳

求教TP5 如何实现Ajax分页

主要思路:就是点击当前页时,它自己显示,其它的都隐藏; 下面是简单的代码实现: input.active {background:yellow;} div {width:200px; height:200px; border:1px solid red; display:none;} div.active {display:block;} window.onload=func...本回答被网友采纳

tp5框架ajax为什么加上数据库操作就会请求错误(用方法访问sql可以执行)

检查POST路径

tp5在ajax请求的时候返回404

你确定url没有修改?或者是缓存开启了,都要检查下,理论上修改同步,异步一定不会影响请求结果,所以还是看看其他地方。

TP5接收前台AJAX发的数据,打印出来确实空的。控制台能看到数据

需要继承 think\Controller 类,然后直接 json(['status'=>1, 'msg'=>'xxxx']),这个方法会生成json字符串,直接return出去就可以了,ajaxReturn实现也是把数据直接扔出去

  • 本文相关:
  • thinkphp5.1+ajax实现的无刷新分页功能示例
  • thinkphp5 通过ajax插入图片并实时显示(完整代码)
  • thinkphp5框架ajax接口实现方法分析
  • tp5(thinkphp5)框架基于ajax与后台数据交互操作简单示例
  • thinkphp5框架实现基于ajax的分页功能示例
  • thinkphp5 ajax提交表单操作实例分析
  • thinkphp中ajax使用实例教程
  • thinkphp中使用ajax接收json数据的方法
  • thinkphp使用心得分享-thinkphp + ajax 实现2级联动下拉菜单
  • tp5框架基于ajax实现异步删除图片的方法示例
  • php如何修改session的生存存储时间的实例代码
  • php语法检查的方法总结
  • php合并数组并保留键值的实现方法
  • php设计模式之数据访问对象模式(dao)原理与用法实例分析
  • 总结php中初始化空数组的最佳方法
  • php preg_match的匹配不同国家语言实例
  • phpmyadmin自动登录和取消自动登录的配置方法
  • php验证码类validatecode解析
  • php获取qq用户昵称和在线状态(实例分析)
  • windows中使用计划任务自动执行php程序实例
  • thinkphp5框架如何实现ajax无刷新分页呢?
  • 求教TP5 如何实现Ajax分页
  • tp5框架ajax为什么加上数据库操作就会请求错误(用方法访问sql可以执行)
  • tp5在ajax请求的时候返回404
  • TP5接收前台AJAX发的数据,打印出来确实空的。控制台能看到数据
  • tp5 ajax获取PHP中 return 的值
  • ajax请求的数据tp5怎么返回json数据
  • php的问题,就是我现在前台有两个查询条件,然后我点击检索,检索通过ajax传到tp5的控制器
  • php tp5 用ajax请求一但使用数据库操作就返回请求错误(sql在使用方法直接调用时可以执行)
  • tp5自带验证码用jquery怎么获取
  • 免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved