2009-08-03 60 views
0

我正在使用jqGrid插件,并且我想将onKeyPress事件添加到编辑表单的每个字段。将javascript事件添加到jqGrid

此代码适用于IE8,但没有在FF和IE7

{name: 'name', index: 'name', width: 200, editable: true, 
    sortable: false, search: true, editoptions: { readonly: false, size: 32, 
    'onKeyPress': 'if($("#cbLanguage").attr("checked"))togeo();' }, 
    editrules: { required: true }} 

如何修改这使它在IE7和FF工作?谢谢。

+0

你得到任何错误?你可以在函数中放入一个console.log来查看它是否被调用。你有一个演示网址? – redsquare 2009-08-03 11:32:51

+0

我没有收到任何错误。可悲的是没有网址。我正在本地机器上测试它。 – Sorantis 2009-08-03 11:36:26

回答

2

找到解决方案! 为了分配事件到现场我需要添加以下到editoptions:

dataEvents:[{type:'keypress', fn: function(e) { 
if($("#cbLanguage").attr("checked"))togeo(); }}] 
1

karim79发现事件问题的荣誉。

另外你会更好地使用函数而不是暗示的字符串作为函数。易于阅读/维护。

name: 'name', index: 'name', width: 200, editable: true, 
    sortable: false, search: true, editoptions: { readonly: false, size: 32, 
    'onKeyUp': keyUpFn }, 
    editrules: { required: true }} 



function keyUpFn(){ 

$("#cbLanguage").is(':checked')){ 
    togeo(); 
} 

}