jqGrid 更改 beforeShowForm 上某个字段的值
jqGrid Change the value of a field on beforeShowForm
我有一个在预定义字段中有一个值的网格,我想做的是单击编辑一行想要更改 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}
})
但它对我不起作用,怎么了?
您没有使用 volume
列的 hidden: true
属性。所以设置 $('#tr_volume',form).show()
是不需要的。 $("#tr_volume",form).val('1')
的设置是错误的,因为 <tr>
元素没有值。我认为您需要使用 $("#volume",form).val('1')
或 $("#volume").val('1')
来代替。将在表单中创建具有 id="volume"
(与列名称相同的 ID)的 <input>
字段。这是您可能尝试更改的字段。
我有一个在预定义字段中有一个值的网格,我想做的是单击编辑一行想要更改 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}
})
但它对我不起作用,怎么了?
您没有使用 volume
列的 hidden: true
属性。所以设置 $('#tr_volume',form).show()
是不需要的。 $("#tr_volume",form).val('1')
的设置是错误的,因为 <tr>
元素没有值。我认为您需要使用 $("#volume",form).val('1')
或 $("#volume").val('1')
来代替。将在表单中创建具有 id="volume"
(与列名称相同的 ID)的 <input>
字段。这是您可能尝试更改的字段。