1

我有一个 JqGrid 并希望在返回到包含网格的视图/页面时自动切换最后编辑的行/组的显示。

我的过程是

  1. 完成添加/编辑后将最后编辑的 OrderId 写入会话变量
  2. 将其传递给隐藏表单元素中的视图

我现在想做的是使用这个“id”来定位最近的(反向)分组表行,然后我可以用它来切换显示。

因为 id"" 属性与 OrderId 匹配,所以 OrderId 的 很容易识别。

分组元素虽然是 0 索引并仅根据它在网格中的位置编号,即它与 OrderId 或 OrderLinkId 无关。

2012 年 10 月 24 日修改了以下示例,以证明组标题元素在单个订单元素之前关闭,即。兄弟姐妹不是父母/孩子

<tr id="clientOrderGridghead_0_6" class="ui-widget-content jqgroup ui-row-ltr clientOrderGridghead_0" role="row">
.....Group Header 6 Content.....
</tr>
<tr id="403" class="ui-widget-content jqgrow ui-row-ltr" style="" tabindex="-1" role="row">
</tr>
<tr id="414" class="ui-widget-content jqgrow ui-row-ltr" style="" tabindex="-1" role="row">
</tr>
<tr id="418" class="ui-widget-content jqgrow ui-row-ltr" style="" tabindex="-1" role="row">
</tr>
<tr id="clientOrderGridghead_0_7" class="ui-widget-content jqgroup ui-row-ltr clientOrderGridghead_0" role="row">
......Group Header 7 Content......
</tr>

上面的示例显示了充当组标题的顶部元素,随后的 3 个元素是相关订单的记录行。

标题元素始终具有类

class="ui-widget-content jqgroup ui-row-ltr clientOrderGridghead_0"

我已经能够通过硬编码组元素的 id 成功地进行切换,如下所示

jQuery('#clientOrderGrid').jqGrid('groupingToggle','clientOrderGridghead_0_6');

但是我现在正在努力获取插入 groupingToggle 调用并使其动态化所需的 id。

我试过以下

var groupId = $('#' + lastOrderId).closest('tr').find('.ui-widget-content jqgroup ui-row-ltr clientOrderGridghead_0').attr('id');

在看到这里的例子之后 在 jQuery 的 .closest() 中使用类名

但是,这返回未定义。

任何指针都非常感谢。

24/10/2012 又一次尝试

var groupId = $('#' + lastOrderId).closest('tbody').find('.ui-widget-content jqgroup ui-row-ltr clientOrderGridghead_0').attr('id');

但还是没有喜悦

4

1 回答 1

0

我认为你应该去

var groupId = $('#' + lastOrderId).parent().find('.clientOrderGridghead_0').attr('id');

编辑:删除了查找中不必要的类。

编辑2:首先我无法理解您的问题。

请试试这个:

var groupId = $('#' + lastOrderId).prev('.clientOrderGridghead_0').attr('id');

我真的希望这一次对你有用。

于 2012-10-23T17:13:38.150 回答