将javascript事件添加到jqGrid

时间:2009-08-03 10:48:19

标签: javascript jquery jqgrid

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

此代码适用于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中工作?感谢。

2 个答案:

答案 0 :(得分:2)

找到解决方案! 为了将事件分配给字段,我需要在editoptions中添加以下内容:

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

答案 1 :(得分: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();
 }

}