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);
全部操作结束。