Получение выбранных строк из jqGrid

У меня есть jqGrid 3.5 (полный), в основном работающий. Я получаю данные с помощью опции multi-select. Одна часть, с которой я не могу работать, - это получение выбранных строк. Состояние docs:

Чтобы получить выбранные строки, мы можем использовать метод getGridParam (selarrrow). Используя наш пример, мы можем написать это:

.

JQuery ( "# grid_id" ) getGridParam ( 'selarrrow');

который вернет массив с выбранными строками (т.е. [ "11", "9" ] из рисунка выше). Значения в массиве - это идентификатор выбранных строк.

Это не работает и возвращает значение undefined (да, у меня есть строки). У меня также есть xmlreader: id setup в моей конфигурации сетки.

Может ли кто-нибудь указать мне направление на просмотр? Я пробовал все, что мог придумать безрезультатно.

UPDATE: redsquare был прав относительно неверных селекторов. мой содержащий div имел тот же идентификатор, что и сетка, я заметил это, когда я пошел проверять свой код установки, а селектор был table#results изменен, и все это работает. Спасибо всем. Если вы опубликуете ответ redsquare, я приму его, потому что это правильный ответ.

Ответы

Ответ 1

Вы можете сначала проверить селекторы. если они верны, вы можете попытаться загрузить свою страницу или воспроизвести проблему на jsbin.com.:)

Ответ 2

Попробуйте это, он вернет массив идентификаторов выбранных строк.

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

Ответ 3

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

Это также даст сведения о строках и обычным образом. оператора вы можете получить значение столбца.

Ответ 4

Вы должны ссылаться не на объект jQuery, а на jqGrid itseft.

Итак, во время инициализации сетки вы пишете код как:

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

И в обработчике событий, если вы хотите получить идентификаторы выбранных строк, вам нужно написать:

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

Ответ 5

Другой способ получить выбранные строки: jQuery('#grid').jqGrid('getGridParam','selarrrow');