【发布时间】:2013-03-20 10:19:36
【问题描述】:
我正在使用 struts2-jqgrid-plugin 实现 jqgrid。我的问题是当我在表单元素中更改隐藏字段的值时,当我使用 jqgrid 发布这些隐藏字段时,更新的值不会反映出来。
我的 jqgrid 表单
<form name="adminFrm" id="adminFrm">
<div>
<s:url var="remoteurl" action="adminJsontable">
</s:url>
<sjg:grid
id="gridtable"
caption="Issue-Summary"
dataType="json"
href="%{remoteurl}"
pager="true"
gridModel="finalGridModel"
rowList="10,20,25,30"
rowNum="10"
rownumbers="true"
width="1250"
loadingText="Dashboard is being Loaded..."
formIds="adminFrm" // here I am sending all form-elements
gridview="true"
>
<sjg:gridColumn name="issue_id" id="issueId" index="id" title="Issue-ID" formatter="integer" formatoptions="{thousandsSeparator: ''}" sortable="false" width="100"/>
<sjg:gridColumn name="issue_status" index="issue_status" title="Current Status" search="true" searchoptions="{value:':Any;Completed:Completed;Assigned:Assigned;Denied:Denied'}" searchtype="select"/>
</sjg:grid>
</div>
<s:hidden name="hidden_field" id="hidden_field" value="123456"></s:hidden>
</form>
我正在尝试更新某些事件的隐藏字段值
function x()
{
$("#hidden_field").val("Value changed");
}
但是当 jqgrid 重新加载时,它仍然发布隐藏字段的先前值,即 12345,而不是更新值。我使用 firebug 检查了隐藏字段,这也表明隐藏字段的值已更改,那么为什么 jqgrid 仍将先前的值发布到页面上不存在的服务器(我通过 firebug 检查)。如何解决这个问题呢。详情可以参考这个帖子issue with ajax call on paging in jqgrid
【问题讨论】:
-
你看到隐藏值被发布到服务器了吗?
-
hidden_field在电网负载时设置在哪里? -
@Mark 是的,这个 hidden_field 正在通过服务器发布,我已经检查了我的控制台以及 firebug,其中 hidden_field 正在更新,但是当 jqgrid 重新加载时,它会发布旧值。
-
你在哪里使用 jqGrid 传递数据?用户数据?
-
@Mark 我正在使用标签“formids”发送 hidden_field(检查我的网格),它在重新加载或调用操作时将所有表单元素与 url 连接起来。
标签: jquery ajax jqgrid struts2 struts2-jquery