Comment faire pour récupérer les informations de cellule pour l'événement mouseover dans jqGrid
Cette question est spécifique à jqGrid. J'ai appris que nous pouvons utiliser .jqgrow
élément avec mouseover
événement pour récupérer les informations de ligne comme la suivante:
gridComplete: function () {
$('.jqgrow').mouseover(function(e) {
var rowId = $(this).attr('id');
console.log('You rolled over ' + rowId);
});
}
Ma question est comment pouvons-nous récupérer les informations d'une colonne, le nom de la cellule de l'information et du contenu d'une cellule d'information dans un tel cas. Merci à l'avance.
Pouvez-vous poster le code HTML correspondant ou créer un jsFiddle?
Si c'est un travail de violon puis oui, car elle aurait à la fois votre jQuery ET HTML.
Si c'est un travail de violon puis oui, car elle aurait à la fois votre jQuery ET HTML.
OriginalL'auteur biajee | 2012-08-01
Vous devez vous connecter pour publier un commentaire.
Tout d'abord, vous n'avez pas besoin de lier
mouseover
sur chaque ligne. Il suffit de lier l'événement une fois sur l'ensemble de la grille de corps. Lee
paramètre de l'événement atarget
des biens qui ne sont initialisés à l'objet qui est à l'origine de lamouseover
événement. Ainsi, vous pouvez utiliser jQuery.les plus proches pour trouver le<td>
et<tr>
éléments qui sont dans le contexte actuel. Dans la façon dont vous économiser de la mémoire et d'améliorer un peu les performances de la solution.La démo montre comment toutes les œuvres de jqGrid. Le code utilisé est
La sortie, ce qui sera produit par la démo se présente comme suit
Ce qu'il est. Merci Oleg pour la réponse complète. Je pensais utiliser le cellIndex et revenir à colModel à la requête pour le nom de la colonne, mais ne peut pas obtenir la syntaxe de droit (quelle piètre programmeur!). Aussi, j'ai appris beaucoup de vos autres posts sur jqgrid questions. Merci.
Vous êtes les bienvenus!
Vous êtes les bienvenus! J'ai trouvé votre question tout à fait correct et voté. Je pense que les personnes qui bas-voté votre question n'a tout simplement pas compris la spécificité jqGrid contexte. Par la voie
$td.text()
ou$grid.jqGrid('getCell', rowId, ci)
permettra d'obtenir le contenu des cellules.Merci pour le contenu de la cellule et aussi merci pour le vote. Mon mal, car à l'origine je ne mets jqgrid dans le tag, mais pas où dans le corps.
OriginalL'auteur Oleg
Il n'a rien à voir avec la
.jqgrow
classe.Il a à voir avec l'événement, qui sera mis
this
à ladom element
sur lequel l'événement est survenu.Donc de sens que si c'est le HTML:
Puis
this
sera que HTML sur passage de la souris. Qui vous pouvez faire quelque chose avec vous comme.this
. Pouvez-vous me donner un exemple? Merci.Je comprends votre point de départ pour un générique de l'élément html. Cette question est spécifique à jqgrid. Supposons que vous avez des centaines de lignes et nombre de colonnes, et ils sont générées dynamiquement. Comment puis-je attraper le passez la souris sur la cellule?
OriginalL'auteur Rene Pot
Source: http://www.trirand.com/blog/?page_id=393/help/get-column-index-name-oncellselect-event-after-column-reorder/
OriginalL'auteur Alex
Modifier
OK, n'est-ce pas, que vous êtes en utilisant jQuery grille de plug-in.
Toutes les colonnes ont un attribut
role="gridcell"
de sorte que vous pourriez utiliser un attribut de base de sélecteur pour sélectionner toutes les cellules:Première réponse
Cette réponse, c'est plus comme une réponse universelle à ce problème.
Je suis en supposant que vous êtes d'avoir un tableau comme ceci:
Que vous pouvez obtenir de l'information sur les colonnes à l'intérieur de la planait ligne avec:
Cela fonctionnera également pour toute autre structure comme ceci:
Si vous voulez avoir un passez la souris sur chaque élément enfant de
.jqrow
vous pouvez le joindre directement aux enfants:children()
aide vraiment à obtenir le cellIndex.Argh, n'a pas remarqué que, désolé. La mise à jour de la réponse de l'aide?
Désolé, à l'origine, je ne mets "jqgrid" dans la balise. Pas dans la question du corps. Je vais essayer votre réponse. Merci.
OriginalL'auteur insertusernamehere
si vous pouvez obtenir le numéro d'identification de ligne puis son pas difficile d'obtenir des informations de cellule.
var col=$('#grille").jqGrid('getCell',rowId,columnName);
cela permettra de fournir des données pour cette colonne.
OriginalL'auteur Piyush Sardana