如何使用 of an element in struts jQuery grid发送id

问题描述 投票:0回答:1

我想在struts jQuery网格中检索并发送一个元素的id。

<sjg:grid id="gridtable"
        caption="Editer Eleves"
        dataType="json"
        width="755"
        href="%{remoteurl}"
        pager="true"
        gridModel="gridModel"
        rowList="5,10,15,20"
        rowNum="5"
        rownumbers="true"
        multiselect="true"      

    >
    <sjg:gridColumn name="eleveId" title="Eleve Id" formatter="integer" sortable="false"/>
    <sjg:gridColumn name="eleveNom" index="eleveNom" title="Eleve Nom" editable="true" edittype="text" sortable="true"/>
    <sjg:gridColumn name="elevePrenom" index="elevePrenom" title="Eleve Prenom" editable="true" edittype="text" sortable="false"/>

</sjg:grid>

所以我做了这些,但它不起作用:

<p><a class="btn" onclick="jQuery('#gridtable').getRowData(id)['eleveId']" href="#"> Détails</a>
jquery jqgrid struts2
1个回答
0
投票

首先,似乎eleveId扮演你的网格本地id的角色。如果列的值具有唯一值,则可以将key="true"属性(请参阅the documentation)添加到eleveId列的定义中。之后,rowid(网格中id元素的<tr>属性的值)将与eleveId列中的值相同。

如果用户选择某行网格,则将调用回调onSelectRow。在struts2的the documentation中描述了“主题”。 The example展示了如何定义和订阅相应的事件。事件处理程序中的值event.originalEvent.id将是最后一个选定行的rowid。如果将key="true"属性添加到列eleveId的定义中,则值event.originalEvent.id将与eleveId相同。如果你不能使用key="true"属性,那么你可以使用$("#gridtable").jqGrid("getCell", event.originalEvent.id, "eleveId")来获取数据。

从版本4.3.2开始,jqGrid还支持回调之外的事件。例如,您可以使用事件jqGridSelectRow来获取有关上一个选定行的完整信息:

$("#gridtable").bind("jqGridSelectRow", function (e, rowid, status, orgEvent) {
    alert("rowid=" + rowid);
});

因为你只需要rowid然后你可以从事件处理程序中删除所有可选参数

$("#gridtable").bind("jqGridSelectRow", function (e, rowid) {
    alert("rowid=" + rowid);
});

在处理程序内部,您可以使用jQuery.ajax来调用struts2操作。

© www.soinside.com 2019 - 2024. All rights reserved.