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.
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. :)
Essayez ceci, il renverra un tableau de l'id des lignes sélectionnées.
var s;
s = jQuery("#yourGridName").jqGrid('getGridParam','selarrrow');
alert(s);
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.
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');
Une autre façon d'obtenir les lignes sélectionnées: jQuery('#grid').jqGrid('getGridParam','selarrrow');