beforeShowForm jqgrid以动态形式

时间:2010-11-30 19:55:11

标签: jqgrid

 {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();  }
         });                            
     }
}, 

我想用jqgrid创建一个“动态”表单。当使用alert()时,表单效果很好, 如果不是,行的动态更改仅在第二次尝试中起作用

1 个答案:

答案 0 :(得分:2)

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

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