2

我有一个 jsp 页面,我在 Struts2 jquery 网格中显示我的书籍详细信息。现在我想调用一个动作并将 rowid 作为参数传递给动作类,点击我的 Jquery 网格中的一行。而且我还想在调用我的操作后指定要刷新的 div 的目标。

这些东西我很了解,<sj:submit target="targetDivToRefresh" formId="form2" button="true"/> 但我不知道如何执行这些任务“当用户从我的 struts2 jquery 网格中单击一行时”。

请帮我解决这个问题。

我的jsp页面

    <sjg:grid
        id="bookgrid" 
        editurl="%{bookediturl}"
        navigator="true" 
        editinline="true" 
        navigatorSearch="false"
        autowidth="false"   
        width= "1550" 
        viewrecords="true"  
        navigatorRefresh="true"
        navigatorDelete="true">
    <sjg:gridColumn name="id" index="locationId" title="ID" formatter="integer" sortable="false" key="true" 
                       search="false"  editable="true"  hidden="true"   /> 
     <sjg:gridColumn name="authLastname" index="authLastname" title="AuthorLastname" sortable="true" search="true" editrules="{required: true}"
                        editable="true" edittype="text" />  
 </sjg:grid> 
4

1 回答 1

3

试试这个:

$(function(){
    $.subscribe('rowselect', function(event,data) {
        alert(event.originalEvent.authLastname);
        $("#targetDivToRefresh").load('your-struts2-action');
    });
});

更新

$("#targetDivToRefresh").load('your-struts2-action');

参考链接:Struts2 jquery 插件展示

请确保此事件将被触发,如果您单击一行,我添加了测试代码alert()以确保它已在事件期间被调用。还有一件事,我必须告诉你,你必须使用在你的标签中注册你的selectrow事件<sj:grid>onSelectRowTopics="rowselect"

更新

$("#targetDivToRefresh").load("<s:url value="your-struts2-action"/>"+"?id="+event.originalEvent.id);
于 2012-11-08T13:29:18.810 回答