jqGrid更改beforeShowForm上字段的值

时间:2015-06-03 13:39:45

标签: jquery jqgrid jqgrid-php

我有一个在预定义字段中有值的网格,我想这样做就是单击编辑一行想要更改FormEdit中某个字段的值。

ColModel是:

    colModel:[
                {name:'id',index:'ID', width:50, hidden:true, search:false, editable:false,resizable:false},
                {name:'product',index:'product', align:"center", width:20, search:false, editable:false,resizable:false},
                {name:'volume',index:'volume', align:"center", hidden:false, width:15, search:false, editable:true}
                ],

打开编辑表单时我会建立volume = 1,我确实喜欢这个......

 ondblClickRow: function(id){
                jQuery("#products").jqGrid('editGridRow', id, {
                  recreateForm:true,  
                  beforeShowForm: function(form) { 
                      $('#tr_volume',form).show(); 
                      $("#tr_volume",form).val('1');
                      },
                  reloadAfterSubmit:false, closeOnEscape:true, closeAfterAdd:true, closeAfterEdit:true,
                  editable:true, editrules:{edithidden:true,required:true,number:true,minValue:1}                    
               })

但这不适合我,有什么不对?

1 个答案:

答案 0 :(得分:1)

您不能使用hidden: true列的volume属性。因此不需要设置$('#tr_volume',form).show()$("#tr_volume",form).val('1')的设置错误,因为<tr>元素没有值。我认为您需要使用jusu $("#volume",form).val('1')$("#volume").val('1')。将在表单中创建<input> id="volume"字段(与列名称相同的ID)。这是你可能试图改变的领域。