内容简介: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);
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Google總部大揭密
史蒂芬.李維 / 陳重亨 / 財信 / 2011-11
∣如果有一天,Google的搜尋引擎突然故障 ∣GMAIL信件全數消失 ∣Google Maps、Google Docs、Google行事曆等所有雲端服務全面停擺 ∣我們該怎麼辦?! 歷史上像Google如此成功,且廣受推崇的企業可沒幾家。它改變了網路的使用方式,也成了我們生活不可或缺的一部分。這到底是怎麼辦到的? 《連線》雜誌資深主筆史蒂芬.李維史無前例同時取得LS......一起来看看 《Google總部大揭密》 这本书的介绍吧!