在我的Struts2/Java应用程序中,我允许用户从JQGrid发送数据到应用程序。我正在使用“saverow”函数遍历每个选定的行并提交编辑后的单元格。这个函数在我的JSP中包含的单独的js文件中。不使用表格更新单个JSP页面元素
function editRows(){
for (...){
...
...
...
jQuery('#myGrid').jqGrid('saveRow,rowID,false,null,null,aftersavefunc);
}
getResponse();
}
从此函数提交数据后,我的动作类中的许多类变量都会更新。我使用aftersavefunc来设置隐藏的jqgrid单元格的值(jqgrid'setCell'),以便我可以稍后从网格中调用它们。
我有额外的值,只是显示在一个div。这些值在应用程序执行后也会更新。 当我执行上面提到的editRows()函数时,下面的div已经可见并且显示div中每个字段的值。这些初始div值是先前表单提交的结果。这是div在我的JSP中的样子。
<div id="headerBar">
<table>
<tr>
<td>Total Items: <s:property value="strutsActionName.totalItems</td>
...
...
...
</tr>
</table>
</div>
因此,例如,正在执行我的功能editRows时,股利已经显示出了在网页上“TOTALITEMS”的值。它只是看起来是这样的:功能editRows已经执行
Total Items: 5
后,“TOTALITEMS”的价值已经在应用程序中进行更新。 java操作类具有totalRows的最新值。
当循环完成时,editRows函数正在调用另一个函数getResponse()。 getResponse函数用于获取我使用“saverow”的“aftersavefunc”参数设置的隐藏jqgrid值。它使用jqGrid('getCell')来获取隐藏的jqGrid单元格的更新值。
我想让getResponse()函数也刷新“totalItems”的值。该值不在jqGrid中。我需要刷新个别字段并获取更新的值。例如,在editRows()完成之后,“totalItems”的值可能会从5增加到10。
在我的getResponse()函数中,我尝试通过使用以下内容更新此值,但它没有工作。
document.getElementById('headerBar').reload
我只需要更新这个div中的值而不必提交表单。
只是需要一些澄清。你说从'javascript'改变它。不确定你的意思。所以我会有
。然后getElementById(totalItems).reload。是你的意思吗? –是或多或少,但把跨度放在td,所以你可以改变仅文本 – vbazaga86