我之前实际上已经问过这个问题,但当时并没有取得成功,但我希望这一次我会更幸运。
我有一个场景,我需要在添加保存操作后保持 jqgrid 模式上的某些字段保持填充状态。(目前所有字段都被清除/重置为默认状态)。它们对用户不可见,因此当我再次尝试保存时,验证会提示我输入日期/经理/班次。我已经尝试过各种尝试来纠正这个问题以取得成功
我知道这是可能的,因为当一个人编辑并单击保存时,表单不会被清除。(我希望我可以在保存后有选择地执行此操作)
我的屏幕是这样的。
添加时
编辑时
这个想法是,当用户捕获时,他们不需要一直更新日期、班次和经理,因为一次性针对这些键集捕获了多条记录,并且不得不重新选择会很烦人每次去的那些价值观。
当添加发生时,表单值通过 beforeShow 钩子更新。(并且编辑它会被忽略,因为我需要使用网格中的值,(以防出错)
代码片段
DataGrid.navGrid('#pager', { edit: true, add: true, del: true, search: true },
editItems,
{
width: 600,
url: URL_add,
data: submit_data,
afterSubmit: function (result) {
success:
{
if (onAfterSubmit != null)
onAfterSubmit(result);
return Notify("success", result.responseText);
}
fail: { return Notify("error", result.responseText); }
},
recreateForm: true,
beforeShowForm: addBeforeShowOptions,
modal: false,
overlay: false,
jqModal: true
},
...
var addBeforeShowOptions = function (form) {
formPattern(form);
$('#Date', form).val($('#main_Date').val());
$('#Shift', form).val($('#main_Shift').val());
$('#ManagerID', form).val($('#main_Manager').val());
$('#tr_Date', form).hide();
$('#tr_ManagerID', form).hide();
}