سؤال

وأنا باستخدام 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؟ شكرا.

هل كانت مفيدة؟

المحلول

وجدت الحل! من أجل تعيين الحدث إلى الحقل ولست بحاجة لإضافة التالية إلى editoptions:

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

نصائح أخرى

ومجد 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();
 }

}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top