从jqGrid中检索选定的行

时间:2009-08-20 21:16:33

标签: jquery jqgrid

我有jqGrid 3.5(完整版)主要工作。我让它使用多选选项检索数据。我无法工作的一部分是获取所选行。 docs州:

  

要获取选定的行,我们可以使用getGridParam('selarrrow')方法。使用我们的示例,我们可以写下:

     。

的jQuery( “#grid_id”)getGridParam( 'selarrrow');

     

将返回具有所选行的数组(即,上图中的[“11”,“9”])。数组中的值是所选行的id。

这不起作用并返回未定义的值(是的,我选择了行)。我的网格配置中也有xmlreader:id设置。

有人能指出我的方向吗?我已经尝试了一切我无法想到的事情。

更新: redsquare对于错误的选择器是正确的。我的包含div与网格具有相同的ID,当我去检查我的设置代码并且选择器table#results已更改并且一切正常时,我注意到了这一点。谢谢大家。如果您发布答案redsquare,我会接受它,因为它是正确的答案。

5 个答案:

答案 0 :(得分:17)

试试这个,它会返回一系列选定行的id。

var s;
s = jQuery("#yourGridName").jqGrid('getGridParam','selarrrow');
alert(s);

答案 1 :(得分:8)

你能先检查我的选择器吗?如果它们是正确的,您可以尝试上传您的页面或在jsbin.com上复制该问题。 :)

答案 2 :(得分:4)

var rowKey = jQuery("#yourGridName").jqGrid('getGridParam','selrow');
var rowObject = jQuery('#yourGridName').getRowData(rowKey);

这也将给出行详细信息并使用正常。运算符,您可以获得列值。

答案 3 :(得分:3)

你必须不是指jQuery对象,而是指jqGrid itseft。

因此,在网格初始化期间,您可以编写如下代码:

var myGrid = $("#list")..jqGrid(....);

在您的事件处理程序中,如果要检索所选行的ID,则必须写:

var rows = myGrid.getGridParam('selarrrow'); 

答案 4 :(得分:2)

获取所选行的另一种方法:jQuery('#grid').jqGrid('getGridParam','selarrrow');