jquery dialog 弹出 ajax加载数据

来源:互联网 发布:mac pro 需要的配件 编辑:程序博客网 时间:2024/05/29 02:44

我之前就是想实现一个弹框,在弹框的时候用ajax 动态加载要展示的内容,这个地方实现起来并不难,但是在实现的时候遇到了一个坑。

页面:

<div id="logDiv" style="display: none;" ></div>
<a href="#" onclick="javascript:seeKsLog('${requestScope.ksmap['ID'] }')">查看日志</a> </td>



function seeKsLog(id){var ksxm = "${requestScope.ksmap['KSXM']}";var zjhm = "${requestScope.ksmap['ZJHM']}";                var  jqxr =$.post("<%=request.getContextPath()%>/syslog/seeKsLog.htm",{"examineeid":id,"ksxm":ksxm,"zjhm":zjhm},function(data){var aaa = "<table width='100%'  border='1' cellspacing='0' cellpadding='0'>                                                                <tr><th class='title-bar'><b> 考生姓名 </b></th>                                                                    <th class='title-bar'><b>证件号码</b></th>                                                                     <th class='title-bar'><b>操作IP</b></th>"                                     +"<th class='title-bar'><b>操作人员</b></th>                                                                     <th class='title-bar'><b>操作时间</b></th>                                                                     <th class='title-bar'><b>操作内容</b></th> </tr>";                    for(var i=0;i<data.length;i++){                    if(data&&data.length>0){                    aaa+="<tr> <td>   "+ksxm+"  </td><td>  "+zjhm+"  </td>";                    aaa+="<td>   "+data[i].accessip+"  </td>";                    if(data[i].managername!=null){                    aaa+="<td>  "+data[i].managername+"  </td>";                    }else{                    aaa+="<td>  本人  </td>";                    }                    aaa+="<td>   "+data[i].data+"  </td><td>  "+data[i].miaoshu+"  </td></tr>"                    }                    }                    aaa+="<tr><td colspan='6' align='center'>                                                     <font style='color:red'>  '提示: 交易结果2表示支付成功,交易结果0表示未支付。'</font>                                                </td></tr></table>";                    $("#logDiv").html(aaa);});
首先:坑1: 我在拼串的时候用了append()

append():方法在被选元素的结尾(仍然在内部)插入指定内容。  这个地方啥意思?就是插入的内容还是在你选择的那个标签里面

这个地方写完以后,我定义了dialog初始化操作,在$(function(){});里面,但是 在第一打开dialog的时候,总是第一遍没有数据,第二遍才出现,后来才发现,原来是因为加载还没结束,就执行下面的打开操作了。所以给函数加一个complete的方法,等加载完成后再执行dialog的open操作。

jqxr.complete(function(){var cont = $("#logDiv").html();alw(cont);}); function alw(aa){                art.dialog({                    title:'考生操作日志',                    content:aa,                    //icon:'question',                    lock:true,                    resize:false,                    button:[                            {name:'关闭',callback:function(){                                return true;                            }}]                    });            }



这么搞没问题