struts2 jQuery grid双击网格上的对话框弹出窗口,其中包含从操作填充的值

时间:2013-01-24 12:03:42

标签: jquery struts2-jquery

我有一个struts2-Jquery网格。双击网格行时需要它 网格行键应该是caputerd并且要调用struts2动作(返回json),它从对应于key的数据库中获取详细信息并在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 ---

< 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');});

});

1 个答案:

答案 0 :(得分:1)

<s:property />标记在页面渲染时评估,不会更改。

可能您应该将对话框内容作为另一个jsp / action并使用ajax使用href <sj:dialog />属性调用该页面。并且当双击该行时,使用listenTopics使对话框重新加载。

https://code.google.com/p/struts2-jquery/wiki/DialogTag