形成/添加jqgrid动态表单更改标签

时间:2010-12-19 17:35:49

标签: jqgrid

我有一张表格 ....

{
    width:450,height:350, //1
    beforeShowForm: function(formID) {     
        recreateForm: true,
        alert("Really?") ; 
        jQuery('#tr_b_date',  formID).show();
        jQuery('#tr_buchung', formID).show();  

        jQuery('#tr_b_menge_lsv',  formID).hide();
        jQuery('#tr_b_text_lsv',   formID).hide(); 
        jQuery('#tr_b_summe_lsv',  formID).hide(); 
        jQuery('#tr_b_menge_cvvp', formID).hide();
        jQuery('#tr_b_text_cvvp',  formID).hide(); 
        jQuery('#tr_b_summe_cvvp', formID).hide();  

        jQuery('#buchung', formID).change(function() { 

            var index = $(this)[0].selectedIndex;
            if (index == 1) {
                jQuery("#kundenbuchung").setColProp('LSV',
                                                    {formoptions:{label:'TEST1'}});
                jQuery("#kundenbuchung").setColProp('Count_L',
                                                    {formoptions:{label:'TEST2'}});
                jQuery('#tr_b_summe_lsv', formID).show();     
                jQuery('#tr_b_text_lsv',  formID).show(); 
                jQuery('#tr_b_menge_lsv',  formID).hide(); 
                jQuery('#tr_b_menge_cvvp', formID).hide(); 
                jQuery('#tr_b_text_cvvp',  formID).hide(); 
                jQuery('#tr_b_summe_cvvp', formID).hide();
            } 
            else if (index == 2) { .....`

我想动态更改表单中的标签,但

jQuery("#kundenbuchung").setColProp('LSV',    {formoptions: { label: 'TEST1' }} );
jQuery("#kundenbuchung").setColProp('Count_L',{formoptions: { label: 'TEST2' }} );

不起作用。任何想法?
Schalotte

1 个答案:

答案 0 :(得分:2)

beforeShowForm内部已经创建了表单。您可以尝试更改label内的beforeInitData

另一种方法是改变

jQuery("#kundenbuchung").setColProp('LSV', {formoptions: {label:'TEST1'}})

jQuery('tr#tr_LSV > td.CaptionTD', formID[0]).html('TEST1')

或者其他一些事情。我建议您使用recreateForm:true选项,以确保在每行编辑时都会调用beforeShowForm