从jqGrid中检索选定的行

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

要获取所选行,我们可以使用getGridParam(’selarrrow’)方法。 使用我们的示例,我们可以这样写:

jQuery的( “#grid_id”)getGridParam( ‘selarrrow’);

这将返回一个包含所选行的数组(即上图中的[“11”,“9”])。 数组中的值是所选行的id。

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

有人能指点我的方向吗? 我已经尝试了所有我能想到的无济于事的东西。

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

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

试试这个,它将返回一个选定行的id数组。

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

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

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

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

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

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

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

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