在jqGrid实例化后添加事件处理程序

13

我想为jqGrid添加一个事件处理程序(对于onSelectRow事件),但是在网页上创建网格后,我不能将其硬编码到初始jqGrid定义中。

我尝试使用setGridParam设置onSelectRow的事件处理程序,但是没有起作用:(

$('#list').jqGrid('setGridParam', { onSelectRow: function(id){ alert(id); } } );

jqGrid文档很难从中获取所需信息,我没有找到任何关于这个问题的解决方案。

1个回答

20

我刚刚进行了测试,尝试使用

$('#list').jqGrid('setGridParam', { onSelectRow: function(id){ alert(id); } } );

我的代码可以工作。如果jqGrid已经有了一个onSelectRow事件处理程序,它会覆盖旧的事件处理程序。如果没有onSelectRow事件处理程序,则会添加一个新的处理程序。所以一切都应该正常运行。

如果您遇到问题,应该发布一个能够复现该问题的代码示例。


嗨,Oleg - 也许是我的jQuery版本问题?现在它已经可以使用了,我当时尝试了不同版本的jQuery。无论如何,感谢你的确认 :P - Jimbo
@Oleg,有没有一种方法可以注册多个函数来调用网格事件?例如,我希望一些基本内容始终在loadComplete上运行,但在某些网格中,我还有其他的内容应该放在那里。 - IronicMuffin
@IronicMuffin:这是一个好问题!只有一个 loadComplete 事件。如果您更详细地描述您的环境和问题,那么我们就可以提出解决方案。 - Oleg
@ Oleg,我在这里提供了更详细的问题描述:https://dev59.com/klnUa4cB1Zd3GeqPaneP。 - IronicMuffin
再一次,Oleg来拯救了!再次感谢你,Oleg! - FastTrack

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接