beforeShowForm jqgrid в динамической форме - PullRequest
2 голосов
/ 30 ноября 2010
 {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 Ответ

2 голосов
/ 01 декабря 2010

Я бы порекомендовал вам использовать restateForm: true . На мой взгляд, настройка должна быть опцией по умолчанию для редактирования формы jqGrid.

Проблема в том, что при настройках по умолчанию recreateForm:false jqGrid форму создается только один раз , поэтому только в первый раз будет вызвана функция beforeShowForm. Более того, если вы используете формы Add и Edit , будет создана только одна форма для обоих диалогов. Тогда диалог будет только скрыт или показан. Это делает некоторые очень странные эффекты. Поэтому я настоятельно рекомендую всем всегда использовать recreateForm:true вариант.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...