第一次写博客,记录工作中出现的问题!望对大家有用!
问题描述:使用dwz框架,页面上的数据也是通过Ajax从后台查询展示动态生成的,现要点击其中一条数据,将其关联的其他数据信息以模态框的形式展示到页面,
直接在其动态生成的数据后追加一行动态生成的a标签连接,无奈眼高手低。刷刷的写完,成果却是页面样式丢失,信息展示也不是以模态框的形式,而是新打开的窗口。
解决方法:不能动态拼接a标签,应该拼接button标签,在选中button标签时再将url地址拼接,详细解释看代码中两端注释之间的字段
//字段原为动态拼接的a标签与连接地址,当对其点击时会重新打开一个窗口连接,且样式丢失
+"<td align='center'>" + "<a target='dialog' width='800' height='480' href='${BASE}/psbc/monitor.do?method=selectHis&&APPLICATION_ID="+id+"' >"+'查询监控历史'+"</a>"+ "</td>"
//现将其更改为button标签,Jquery选中此标签时再为其拼接url地址,更新后的代码如下:
+"<td align='center'>"+" <button type='button' class='btnLook' οnclick='jumpDialog("+id+")'>监控历史查询</button></td>"
function refresh(){
try{
$.ajax({
type : "post",
dataType : "xml",
async : false,
url : "${BASE}/psbc/monitor.do?method=ajaxFunc",
success : function(date) {
var id="";
var str = "";
$(date).find("ROOT").find("XML_DATA").find("TABLE").each(function() {
var states=$(this).find('APPLICATION_STATE').text();
var showState="";
id=$(this).find('APPLICATION_ID').text();
if(states==0){
showState="<img src='${BASE}/common/ui/themes/default/images/green.png' alt='正常'>";
}else{
showState="<img src='${BASE}/common/ui/themes/default/images/red.png' alt='异常'>";
}
str += "<tr>" + "<td align='center'>" + $(this).find('APPLICATION_ID').text()
+ "</td>" + "<td align='center'>"
+ $(this).find('APPLICATION_NAME').text() + "</td>"
+ "<td align='center'>" + $(this).find('APPLICATION_IP').text() + "</td>"
+"<td align='center'>" + $(this).find('APPLICATION_PORT').text() + "</td>"
+"<td align='center'>" + showState+ "</td>"
/*字段原为动态拼接的a标签与连接地址,当对其点击时会重新打开一个窗口连接,且样式丢失
+"<td align='center'>" + "<a target='dialog' width='800' height='480' href='${BASE}/psbc/monitor.do?method=selectHis&&APPLICATION_ID="+id+"' >"+'查询监控历史'+"</a>"+ "</td>"
现将其更改为button标签,Jquery选中此标签时再为其拼接url地址如下*/
+"<td align='center'>"+" <button type='button' class='btnLook' οnclick='jumpDialog("+id+")'>XXX历史查询</button></td>"
+ "</tr>";
});
$("#task").html(str);
},
error : function() {
alert("服务器监控查询失败");
}
});
}catch(e){
clearInterval(sh);
}
}
function jumpDialog(a){
$.pdialog.open("${BASE}/psbc/monitor.do?method=selectMonitorHis&P_MONITORPARENT="+a,"showInfo","监控历史窗口","width:400px,height:400px,max:true,mask:false");
}