以动态形式显示jqgrid之前

以动态形式显示jqgrid之前,jqgrid,Jqgrid,我想用jqgrid制作一个“动态”表单。使用alert()时,表单工作正常, 如果没有,则行的动态更改仅在第二次尝试中起作用我建议您使用该选项。在我看来,该设置应该是jqGrid表单编辑的默认选项 问题是,使用默认设置recreateForm:falsejqGrid只能创建一次表单,因此只有在第一次调用函数beforeShowForm。此外,如果同时使用“添加”和“编辑表单”,则只会为两个对话框创建一个表单。然后对话框将仅隐藏或显示。它产生了一些非常奇怪的效果。因此,我严格建议所有人始终使用re

我想用jqgrid制作一个“动态”表单。使用alert()时,表单工作正常,
如果没有,则行的动态更改仅在第二次尝试中起作用

我建议您使用该选项。在我看来,该设置应该是jqGrid表单编辑的默认选项


问题是,使用默认设置
recreateForm:false
jqGrid只能创建一次表单,因此只有在第一次调用函数
beforeShowForm
。此外,如果同时使用“添加”和“编辑表单”,则只会为两个对话框创建一个表单。然后对话框将仅隐藏或显示。它产生了一些非常奇怪的效果。因此,我严格建议所有人始终使用
recreateForm:true
选项。

由于您的建议,我默认使用recreateForm-true。是否仍然可以在dataUrl中缓存信息,以避免每次编辑一行时都必须重新加载该数据?@leora:我发布了关于你问题的答案。
 {edit:true,add:true,del:false,search:false,refresh:true,view:false} ,
 // edit option
 {  
     beforeShowForm: function(formID) {    
         //alert("TESTALERT");
         jQuery('#tr_b_summe_cvvp', formID).show();
         jQuery('#tr_b_summe_lsv', formID).show(); 
         jQuery('#buchung', formID).click(function() {
             var index = $(this)[0].selectedIndex;
             if (index == 1)      {   jQuery('#tr_b_summe_lsv',  formID).hide();  }
             else if (index == 2) {   jQuery('#tr_b_summe_cvvp', formID).hide();  }
             else if (index == 3) {   jQuery('#tr_b_summe_cvvp', formID).show();  }
             else if (index == 4) {   jQuery('#tr_b_summe_lsv',  formID).show();  }
         });                            
     }
},