我有一个JqGrid,并希望在返回包含网格的视图/页面时自动切换最后编辑的行/组的显示。
我的流程是
我现在要做的是使用这个“id”找到最近的(反向)分组表行,然后我可以使用它来切换显示。
由于id“”属性与OrderId匹配,因此很容易识别OrderId。
分组元素虽然是0索引,只根据它在网格中的位置编号,即它与OrderId或OrderLinkId无关。
24/10/2012 修改以下示例以证明组头元素在单个Order元素之前关闭,即。兄弟姐妹不是父母/孩子
<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>
上面的例子显示了作为组头的top元素,后面的3个元素是相关Orders的记录行。
header元素始终具有类
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');
在这里看到这个例子 Using a class name in jQuery's .closest()
但是这会返回undefined。
任何指针都非常感激。
24/10/2012 另一次尝试
var groupId = $('#' + lastOrderId).closest('tbody').find('.ui-widget-content jqgroup ui-row-ltr clientOrderGridghead_0').attr('id');
但仍然没有快乐
答案 0 :(得分:0)
我认为你应该选择
var groupId = $('#' + lastOrderId).parent().find('.clientOrderGridghead_0').attr('id');
编辑:在find中删除了不必要的类。
编辑2:我首先无法理解你的问题。
请试试这个:
var groupId = $('#' + lastOrderId).prev('.clientOrderGridghead_0').attr('id');
我非常希望这次对你有用。