我需要获取所选行的id
,以突出显示它。 但是我认为这是不确定的。 可能是什么原因呢?
我在UserDetails
jqgrid上附加了一个click
事件。 单击UserDetails
网格时,将调用以下函数。
var selectUserGrid = function(event) { var grid = $('#UserDetails'); grid.jqGrid( { onSelectRow : function(id) { var i = id; } }); grid.setSelection(i,true); }
如何获取单击行的ID
?
我想你有click
事件处理顺序的问题。
第一个问题是注册额外的click
事件处理程序。 你为什么这样做? jqGrid已经注册了一个click
事件处理程序。 jqGrid处理它和它调用jqGridBeforeSelectRow
回调,触发jqGridBeforeSelectRow
事件然后它选择行,它调用onSelectRow
回调,触发jqGridSelectRow
事件,调用onCellSelect
回调,触发触发器jqGridCellSelect
。 换句话说,jqGrid进程click
事件并允许使用回调和事件来执行一些其他操作,这些操作与jqGrid的内部工作同步 。
如果您注册第二个 click
处理程序,则无法隔离在选择网格行之后将调用您的 click
处理程序。
我建议你使用上面描述的回调或事件。 此外,您在发布的代码片段中使用setSelection
。 另一方面, 你不清楚你是如何填补网格的 。 只有在jqGrd中插入相应的行后才能调用setSelection
。 我想你真正的代码是另一个。 然而,您发布的代码无法正常工作。 此外,代码在 onSelectRow
回调中定义了i
变量,但是您尝试在回调之外使用它。 在这种情况下, i
将永远undefined
。
以上就是jQuery教程分享单击jqgrid行时将id设置为undefined相关内容,想了解更多jQuery开发(异常处理)及jQuery教程关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/jquerytutorial/524539.html