您的位置:首页 > 编程语言 > PHP开发

ThinkPHP中引入iDialog插件来实现查看全文功能

2018-03-07 15:44 309 查看
1.将iDialog核心包复制到项目中:





2.引入2个JS文件,并修改目录地址:
<script src="__COMMON__/iDialog/jquery-1.8.3.min.js"></script>
<script src="__COMMON__/iDialog/jquery.iDialog.js" dialog-theme="default"></script>3.实现功能:点击不同的查看全文按钮,能够看到不同的内容。
          思路:在每个查看全文的按钮上,增加点击事件,来调用不同的对话框





            代码如下:
<script type="text/javascript">

function show(title,content){
iDialog({
title: title,
//标志出唯一的对话框,如果当前页面存在多个对话框时,需要注释该参数
//id:'DemoDialog ',
content:content,
lock: true, //遮蔽效果的配置项
width:800, // 对话框的宽
fixed: true,
height:400 // 对话框的高
});

方式二:采用ajax方式,通过php从后台根据id读取数据,显示在对话框上

            ①:使用ajax方法访问后台php程序,并且将id传入后台程序

            


                    代码如下:

        function show(id){
//调用post方法,访问后台
var url ="{:U('getDoc')}";
var data={'id':id};
$.post(url,data,function(msg){
//alert(msg);
iDialog({
title: msg.doc_title,
//标志出唯一的对话框,如果当前页面存在多个对话框时,需要注释该参数
//id:'DemoDialog ',
content:msg.doc_content,
lock: true, //遮蔽效果的配置项
width:800, // 对话框的宽
fixed: true,
height:400 // 对话框的高
});
},'json');
            ②编写后台程序,接收id,并根据id获取标题和内容,return给前台

            


            前台的对话框显示内容如下图,需要在Doc/getDoc方法中,将内容进行解码。

            


                解码操作如下:function getDoc(){
//接收ajax传过来的id
$id= I('post.id');
//2.根据id查询公文信息
$info = D('Doc')->field('doc_id,doc_title,doc_content')->find($id);
//将doc_centent字段中的内容解码
$info['doc_content'] = htmlspecialchars_decode($info['doc_content']);
//3.将$info数组转为json数据并返回
echo json_encode($info);            全部操作结束。

总结:1.为每个"查看全文"按钮,增加点击事件,触发一个show函数。
          2.show函数访问后台php程序(Doc/getDoc),并将当前的要查看的id传递到后台。
          3.编写Doc/getDoc方法:①先接收id,根据id查询要查看的标题和内容,并将内容解码,最后以json数据格式输出
          4.在前台的show函数中,接收getDoc返回的结果,使用弹出对话框的方法,将接收的json数据显示到对话框上。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: