2009-08-03 68 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(); 
} 

}