thinkphp 中的volist标签在ajax操作中的特殊性

栏目: PHP · 发布时间: 6年前

内容简介:thinkphp 中的volist标签在ajax操作中的特殊性

背景

在一个ThinkPHP的复杂页面(包含volist)中实现volist标签显示Jquery查询结果的返回

知识点

使用ajax的目的是不刷新整个页面的前提下实现部分表格数据的刷新,但是注意ThinkPHP框架中的volist标签是运行在服务器端的,所以使用js动态获取的数据是无法使用thinkPHP标签的,无法将 $this->ajaxReturn($data); 的结果直接用 $("#div_id").HTML(data) 的方法显示。

目前找到的解决方法(都有缺陷)

1.新建一个页面进行显示

重新打开一个跳转页面,将返回的值采用 $this->assign("volist_name", $data); 的方式返回。

**缺陷:相当于对整个页面重新进行了加载,并没有达到部分更新表单的需求。

2.不用thinkPHP框架的标签进行显示

不采用 volist 标签,对 ajaxReturn 返回的结果进行分析,按照自己的js的template模板进行显示,可以实现局部表单更新

1,template模板 <script id="events-template" type="x-tmpl-mustache">     {{#data}}         <tr data-event-id="{{id}}">             <td style="color: {{event_color}}" title="{{type_name}}">{{type_name}}</td>             <td>{{isp_name}}</td>             <td title="AS{{asn}}">AS{{asn}}</td>             <td title="{{update_time}}">{{update_time}}</td>         </tr>     {{/data}} </script>  2.对html简单处理 var events_obj = $('#table_id'); var events_html = events_obj.find('tbody'); var events_tpl = $('#events-template').html();  3.对返回的数据进行展示(在ajax的success后function中的操作) var rendered_events = Mustache.render(events_tpl, data); events_html.html(rendered_events);

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Head First HTML5 Programming(中文版)

Head First HTML5 Programming(中文版)

埃里克•弗里曼 (Eric Freeman)、伊丽莎白•罗布森 (Elisabeth Robson) / 中国电力出版社 / 2012-9 / 78.00元

《Head First HTML5 Programming(中文版)》内容简介:你可能想创建具有动态性、交互性、包含丰富数据而且互连的Web页面。先等一下,Web页面?为什么不用HTML5创建成熟的Web应用呢?另外,为什么不使用现代技术,像在移动设备上一样轻松地应用到桌面浏览器呢?当然,你肯定希望使用最新的HTML5技术来完成,比如地理定位、视频、2D绘制、Web存储、Web工作线程等,是不是?......一起来看看 《Head First HTML5 Programming(中文版)》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换