JQGrid: Как я могу навести / убрать только один столбец в сетке? - PullRequest
1 голос
/ 16 ноября 2011

В моем приложении я использую JQGrid для перечисления некоторых контактов.Мне нужно показать некоторые подробности, когда пользователь делает наведение мышки / мышью только на один удар;сейчас я использую этот код:

gridComplete: function () {
 jQuery('#MyGird').mouseover(function (e) {
      var rowId = $(e.target).parents("tr:first").attr('id');
      var rowdata = jQuery('#MyGird').getRowData(rowId);
      .....
      });
  jQuery('#MyGird').mouseout(function (e) {
      .....
       });
},

Но это делает наведение / наведение мышки по всей строке.

Как я могу навести / навести курсор мыши только на один столбец из строки?

Ответы [ 2 ]

3 голосов
/ 16 ноября 2011

следующий селектор захватывает все первые <td> элементы из каждого <tr> в таблице # MyGird

$("td:first", $("#MyGird tr")).mouseover(function(e) {

, если вы не хотите использовать первую строку, вы можете использовать функцию :eq(index), как длявторой столбец:

$("td:eq(1)", $("#MyGird tr")).mouseover(function(e) {
2 голосов
/ 16 ноября 2011

Вы можете использовать

var ci = $.jgrid.getCellIndex(e.target);

внутри любого дескриптора события, чтобы получить индекс текущего столбца. Индекс в массиве colModel (jQuery('#MyGird').jqGrid('getGridParam', 'colModel')) можно использовать для получения значения соответствующего свойства name столбца.

В большинстве случаев e.target будет просто элементом DOM ячейки (<td>), а $. Jgrid.getCellIndex вернет значение cellIndex свойство.

Если детали, которые вы хотите показать, представляют собой просто текст, построенный из некоторой информации текущей строки, вы можете использовать cellattr вместо mouseover и mouseout. См. ответ для получения дополнительной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...