web-dev-qa-db-fra.com

Récupération des lignes sélectionnées de jqGrid

J'ai jqGrid 3.5 (complet) qui fonctionne principalement. Je récupère des données avec l'option de sélection multiple activée. La seule partie que je ne peux pas travailler consiste à obtenir les lignes sélectionnées. L'état docs :

Pour obtenir les lignes sélectionnées, nous pouvons utiliser la méthode getGridParam ('selarrrow'). En utilisant notre exemple, nous pouvons écrire ceci:

jQuery ("# ​​grid_id"). getGridParam ('selarrrow');

qui renverra un tableau avec les lignes sélectionnées (c'est-à-dire ["11", "9"] de la figure ci-dessus). Les valeurs du tableau sont les identifiants des lignes sélectionnées.

Cela ne fonctionne pas et renvoie une valeur indéfinie (oui, j'ai des lignes sélectionnées). J'ai également la configuration de xmlreader: id dans ma configuration de grille.

Quelqu'un peut-il me diriger vers une direction à regarder? J'ai essayé tout ce à quoi je peux penser en vain.

MISE À JOUR: redsquare était correct à propos des sélecteurs incorrects. mon div contenant avait le même ID que la grille, je l'ai remarqué quand je suis allé vérifier mon code de configuration et le sélecteur était table#results a changé cela et tout fonctionne. Merci a tous. Si vous postez une réponse redsquare je l'accepterai car c'est la bonne réponse.

14
Andrew Burns

Pouvez-vous d'abord vérifier les sélecteurs pour moi. s'ils sont corrects, pouvez-vous essayer de télécharger votre page ou reproduire le problème sur jsbin.com. :)

8
redsquare

Essayez ceci, il renverra un tableau de l'id des lignes sélectionnées.

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

Cela donnera également les détails de la ligne et l'utilisation normale. opérateur, vous pouvez obtenir la valeur de la colonne.

4
Mahesh Malpani

Vous devez vous référer non pas à l'objet jQuery, mais à jqGrid itseft.

Ainsi, lors de l'initialisation de la grille, vous écrivez le code comme:

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

Et dans votre gestionnaire d'événements, si vous souhaitez récupérer les ID des lignes sélectionnées, vous devez écrire:

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

Une autre façon d'obtenir les lignes sélectionnées: jQuery('#grid').jqGrid('getGridParam','selarrrow');

2
cybosser