2015-06-03 31 views
1

我有一个预定义字段中的值的网格,我想要做的是单击编辑一行想要更改FormEdit中的一个字段的值。jqGrid更改beforeShowForm上的字段的值

的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} 
       ], 

我将建立体积= 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

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

+0

谢谢奥列格!它很棒! – Sici

+0

@Sici:不客气!如果问题解决了,您应该[“接受”](http://meta.stackexchange.com/a/5235/147495)答案并获得您的第一个声望点。 – Oleg