动态修改 jqgrid 提交的参数
具体的说明可以参考 http://www.trirand.com/jqgridwiki/doku.php?id=wiki:post_data_module
这里举个例子:当你需要根据用户的输入过滤 jqgrid 的显示数据,可以这样实现,
- userName = $( '#userName' ).val( ); // input 的值
- userCode = $( '#userCode' ).val( ); // input 的值
- jQuery('#grid_user').appendPostData( { userName :userName , userCode :userCode }
- 这 样,刷新 grid 数据时,提交到服务器的数据将包含这 userName 和 userCode两项。
Editing form 提交时,动态添加数据项
在以 Form Editing 方式添加或修改数据,如何在提交时动态的添加或修改一些项目呢?
一个典型的例子是添加文章记录时,在提交的数据中添加当前时间这个项目。
参考 http://www.trirand.com/jqgridwiki/doku.php?id=wiki:form_editing 可以知道:
在表单提交前,将触发事件 beforeSubmit , 所以我们可以在这个事件里做些事情。
- // 提交前
- fn_beforeSubmit = function( postdata, formid ) {
- // 添加或修改 postdata 项目值
- postdata[ 'uploadDate' ] = new Date().format("yyyy/MM/dd") ;
- postdata[ 'uploadTime' ] = new Date().format("hh:mm:ss") ;
- return[true,'']; // 提交
- };
- // 添加记录 options
- Options_add = {
- width:500,
- height:290,
- reloadAfterSubmit:true,
- jqModal:true,
- beforeSubmit: fn_beforeSubmit,
- ......
- }
- // 配置 jqgrid nav
- jQuery( pGridId ).jqGrid('navGrid',pPageId, {edit:true,add:true,del:true,search:false,refresh:true,view:true,addtext:'添加',edittext:' 修改',deltext:'删除' }, //options
- {height:290,reloadAfterSubmit:false, jqModal:true, closeOnEscape:true, bottominfo:"标记有*的字段不能为空"}, // edit options
- Options_add, // add options
- {reloadAfterSubmit:false,jqModal:true, closeOnEscape:true }, // del options
- {closeOnEscape:true}, // search options
- {height:250,jqModal:false,closeOnEscape:true} // view options
- );