我有一个struts2-Jquery
网格。要求在双击网格行时,网格行键应该是 caputerd 并调用 struts2 操作(返回 json),该操作从数据库中获取与键对应的详细信息并在 jquery 对话框中显示结果。我以以下方式实现,但由于映射不正确,对话框没有填充。
然后我使用 session 在 jsp 存储和读取,但每次都显示相同的值
我需要帮助来了解如何知道
$("#detailDialog").load("<s:url value="my-dialogAction"/>"+"?gridKey="+key);
should returns success and only then to publish
$.publish('loadSuccessConfirm');
代码片段
---------Jquery 网格代码 ---------
< sjg:grid id="mytable" ..
.. ..
onDblClickRowTopics="popup"
>
< sjg:gridColumn .. />
< sjg:gridColumn .. /> ..
-------------java脚本---
< script type="text/javascript" >
$.subscribe('popup', function(event, data) {
var key = $("#mytable").jqGrid('getGridParam','selrow');
$("#detailDialog").load("<s:url value="my-dialogAction"/>"+"?gridKey="+key);
$.publish('loadSuccessConfirm');
});
< /script>
- - - - - - - - 对话 - - - - - -
< sj:div id="detailDialog" name="detailDialog" >
< sj:dialog position="center" height="200" width="500" openTopics="loadSuccessConfirm" name="dialog1" id="dialog1" autoOpen="false" >
< s:iterator value="#session.comparePorts" status="stat" var="stack">
< tr>
< td><s:property value="#stack.airPortFrom"/> </td>
< td><s:property value="#stack.transportMode"/></td>
< td><s:property value="#stack.svc"/></td>
< td><s:property value="#stack.calcCostLoad"/></td>
< /tr>
< /s:iterator>
< /sj:dialog>
< /sj:div>
更新
我编辑了如下脚本代码,它在成功后发布,但对话框仍然显示陈旧值并且没有刷新
$.subscribe('popup', function(event, data) {
var key = $("#mepctable").jqGrid('getGridParam','selrow');
$("#detailDialog").load("<s:url value="my-dialogAction"/>"+"?gridKey="+key,
function() { alert("success");$.publish('loadSuccessConfirm');});
});