【问题标题】:jqgrid 4.4.4 getGridParam("page") not returning proper valuejqgrid 4.4.4 getGridParam("page") 没有返回正确的值
【发布时间】:2013-03-27 13:28:43
【问题描述】:

在jqgrid 4.4.4 $("#myGrid").getGridParam("page");获取用户在分页文本框中输入的页码。

但它会返回该分页文本框中已经存在的页码。

注意:在 jqgrid 3.7.2 (+ jquery 1.4.2) 中它工作正常(即返回用户输入的值)

有人有建议和解决方法吗?

(现在我用的是jquery 1.9.0 + jqgrid 4.4.4)

【问题讨论】:

  • 何时(从哪个jqGrid回调)需要获取分页文本框的值?
  • 我后来在 trirand 论坛上找到了your post,您在其中描述了您需要获取onPaging 回调中的信息。查看the answer 和this one。我认为这是你需要的。如果您使用 two 寻​​呼机,您可能会遇到的唯一小问题(请参阅我对 Mark 答案的评论)
  • 感谢@Mark 和 Oleg 的回复

标签: jqgrid


【解决方案1】:

以下将为您提供价值:

$(".ui-pg-input").val();

【讨论】:

  • 可能$($("#myGrid").jqGrid("getGridParam", "pager") + " .ui-pg-input").val(); 会更正确?您不应该忘记它可以在页面上更多地作为一个网格。此外,一个网格可以有 两个 寻​​呼机:一个由pager 参数定义,另一个如果使用toppager: true。
  • @Oleg 我正在考虑添加额外的内容以指定特定的网格,但没有选择,因为我认为它可能被视为基本的。我不知道 toppager...还有什么要测试的。
  • Toppager 是一个非常简单实用的东西。看看the answer、this one和another one。
  • @Oleg 在我的网格中,我有两个分页,一个是网格的顶部,另一个是网格的底部。如果我使用 $(".ui-pg-input").val() 它返回没有在顶部分页文本框中输入的页面。
  • jq(jq("#dataGrid").jqGrid("getGridParam", "toppager") + " .ui-pg-input").val() ==> 给出在顶部输入的文本分页文本框 jq(jq("#dataGrid").jqGrid("getGridParam", "pager") + " .ui-pg-input").val() ==> 给出在底部分页文本框中输入的文本 但是我的要求是,如果用户键入页码是顶部分页文本框并按 Enter,我应该在顶部文本框中输入文本如果用户键入页码是底部分页文本框并按 Enter,我应该在底部文本框中输入文本
【解决方案2】:

我升级到 4.4.4 后出现此问题。问题的原因基本上是提交https://github.com/tonytomov/jqGrid/commit/3e4aa0f2fdcb8c2c2a17e842899aca6d1000410a

此提交将 onpagin 更改为在网格页面计算之前执行。在我当前的项目中,我已经恢复了这些行,所以我的分页再次起作用(我使用外部源绑定)。我建议实现onBeforePaging和onAfterPaging,每个用户都可以附加到他们想要的事件。

【讨论】:

  • 太棒了!。遗憾的是,即使是 jqgrid 的开发人员也无法将其范围缩小为导致此问题的原因
猜你喜欢
  • 2023-03-10
  • 2014-11-26
  • 2019-03-21
  • 1970-01-01
  • 2014-07-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多