Получение данных из jqgrid при наведении мыши - PullRequest
1 голос
/ 11 мая 2010

Я пытаюсь навести курсор мыши на jquery, и когда мышь наводится на определенную строку, я могу получить идентификатор из этой строки, заполнить информацию и отобразить изображение. Тем не менее, мне было труднее всего это сделать.

Вот что я хочу сделать

Так же, как в onSelectRow, где я получаю данные, используя следующий код

var ret = $('#list').jqGrid('getRowData', Id);

Я хочу использовать при наведении мыши. Однако я не вижу способа сделать это. Я попробовал следующее в gridComplete

gridComplete: function() {'.jqgrow').mouseover(function(e) {
 var rowId = $('.jqgrow').parent(tr:first).attr('id');
 alert("You rolled over " + rowId.Id);
});
}

но он дал мне только идеальный номер строки этой таблицы внутри jqgrid, и мне вместо этого нужны данные из этой строки.

Например, в моих данных у меня есть Id, FirstName, LastName, FullName, Title, SortID

Я хотел бы представить изображение в правой части моей HTML-страницы, когда оно находится над определенными строками, передавая идентификатор на страницу HTML и выполняя запросы через массив. Если я смогу каким-то образом получить фактический идентификатор, который находится в моем наборе данных, я могу сделать все остальное.

Любая помощь будет прекрасна.

Я дал полный код моего jqGrid внизу для справки.

jQuery("#list").jqGrid({
url: '/Providers/DynamicGridData/',
datatype: 'json',
mtype: 'GET',
colNames: ['Id', 'LastName', 'FirstName', 'FullName', 'Title', 'Url', 'SortId'],
colModel: [
{ name: 'Id', index: 'Id', width: 30, align: 'left', hidden: true },
{ name: 'LastName', index: 'LastName', width: 30, align: 'left', hidden: true },
{ name: 'FirstName', index: 'FirstName', width: 30, align: 'left', hidden: true },
{ name: 'FullName', index: 'FullName', width: 100, align: 'left' },
/*{ name: 'FirstName', index: 'FirstName', width: 100, align: 'left' },*/
{name: 'Title', index: 'Title', width: 200, align: 'left' },
{ name: 'Url', index: 'Url', width: 30, align: 'left', hidden: true },
{ name: 'SortId', index: 'SortId', width: 30, align: 'left', hidden: true}],
pager: jQuery('#pager'),
rowNum: 10,
rowList: [5, 10, 20, 50],
sortname: 'Id',
scrollOffset: 0,
width: '425',
altRows: 'true',
altClass: 'ui-priority-secondary',
autowidth: 'true',
height: '300',
altRows: 'true',
altClass: 'ui-priority-secondary',
viewrecords: true,
caption: 'Clinical Providers',
onSelectRow: function() {
var Id = $("#list").jqGrid('getGridParam', 'selrow');
if (Id) {
var ret = $('#list').jqGrid('getRowData', Id);
var url = ret.Url;
url.split(' ').join('');
//alert("id=" + ret.Id + "FullName=" + ret.FullName + "...");
window.location = "/" + url;
}
else { alert("Please select a row"); }
},
gridComplete: function() {
$('.jqgrow').mouseover(function(e) {
var rowId = $('.jqgrow').
alert("You rolled over " + rowId.Id);
});
}
});

Ответы [ 3 ]

3 голосов
/ 30 ноября 2010

Я пытаюсь этот код, и он отлично работает:

gridComplete: function() {
    $('.jqgrow').mouseover(function(e) {
        var rowId = $(this).attr('id');
        alert('You rolled over ' + rowId);
    });
}
0 голосов
/ 29 марта 2015

попробуйте этот код .. этот код работает ... этот код извлекает объект строки jqgrid ..

$('.jqgrow').mouseover(function(e) {
 var rowId = $(this).attr('id');
 var dataFromTheRow = jQuery("#list").jqGrid('getRowData',rowId);// this is your jqgrid row object;
 alert('your jqgrid row object id = ' + dataFromTheRow.id);
               });
0 голосов
/ 11 мая 2010

Я в замешательстве - когда вы говорите:

var rowId = $('.jqgrow').parent(tr:first).attr('id');

Это должно быть возвращение идентификатора строки. Затем можно передать rowID методу getRowData, чтобы получить дополнительные данные для строки.

...