我需要获取所选行的id
,以突出显示它。但我得到id
未定义。可能是什么原因?
我在click
jqgrid附加了UserDetails
个事件。单击UserDetails
网格时会调用以下函数。
var selectUserGrid = function(event) {
var grid = $('#UserDetails');
grid.jqGrid( {
onSelectRow : function(id) {
var i = id;
}
});
grid.setSelection(i,true);
}
如何点击行的ID
?
答案 0 :(得分:1)
我认为你对click
事件的处理顺序有疑问。
第一个问题是注册额外的click
事件处理程序。你为什么这样做? jqGrid已经注册了一个click
事件处理程序。 jqGrid处理它并调用beforeSelectRow
回调,触发jqGridBeforeSelectRow
事件然后选择行,调用onSelectRow
回调,触发jqGridSelectRow
事件,调用onCellSelect
回调,触发触发器jqGridCellSelect
。换句话说,jqGrid进程click
事件并允许使用回调和事件来执行一些其他操作,同步与jqGrid的内部工作。
如果您注册第二个 click
处理程序,则无法隔离您的 click
处理程序将在>之后> strong>选中网格行。
我建议您使用上述回调或事件。此外,您在发布的代码片段中使用setSelection
。另一方面,如何填充网格并不清楚。只有在jqGrd中插入相应的行后,才能调用setSelection
。我想你真正的代码是另一个。然而,您发布的代码无法正常工作。此外,代码在 i
回调中定义了onSelectRow
变量,但您尝试在回调的外部中使用它。如果i
永远是undefined
。