Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

jqgrid - close form dialog

Tags:

jquery

jqgrid

I am using jqgrid 4.3.1 and I am using form editing with local data. The problem is the form does not close after adding or editing. Here is my code.

                  $('#studentset').jqGrid({
                      data: mydata,
                      datatype: "local",
                      colNames:['id','First Name', 'Last Name'], 
                      colModel:[ 
                                   {name:'id',index:'id', width:60}, 
                                   {name:'firstName',index:'fName', width:300, editable:true},
                                   {name:'lastName',index:'lastName', width:300, editable:true}
                      ],
                      pager: '#pager',
                      rowNum: 10,
                      rowList: [5, 10, 20],
                      sortname: 'id',
                      sortorder: 'asc',
                      viewrecords: true,
                      height: "80%",
                      caption: "Students to be Registered",
                      editurl: corpUrl
                  });
                  $('#studentset').jqGrid('navGrid', '#pager', { add: true, edit: true, del: false, search: false, refresh: false },
                            {
                                recreateForm: true,
                                closeAfterEdit: true,
                                modal:true,
                                afterSubmit: function(data){
                                    var myObject = eval('(' + data.responseText + ')');
                                    $('#studentset').setGridParam({data: myObject}).trigger("reloadGrid");
                                }
                            },
                            {
                                recreateForm: true,
                                closeAfterAdd: true,
                                modal:true,                 
                                afterSubmit: function(data){
                                    var myObject = eval('(' + data.responseText + ')');
                                    $('#studentset').setGridParam({data: myObject}).trigger("reloadGrid");
                                }
                            },
                            {},{},{}      
                    );  

Notice in the edit and add options of the navGrid I have specified the relevant options. closeAfterAdd: true, and closeAfterEdit: true. But the modal form simply refuses to close. I am not sure if its a bug in this version of jqgrid.

Can someone please offer some guidance? May be, how to close the dialog manually?

like image 339
Faiyet Avatar asked Jun 05 '26 19:06

Faiyet


1 Answers

according to the documentaion, the syntax of afterSubmit is:

afterSubmit : function(response, postdata) 
{ 
 … 
return [success,message,new_id] 
} 

otherwise IE8 will throw error eventhough data successfully posted.

you can use:

return [true,'',''];

then closeAfterAdd:true and closeAfterEdit:true will work without the need to programmatically closing the form:

$('#cData').trigger('click');
like image 102
Yaqoob Al-Shuaibi Avatar answered Jun 07 '26 15:06

Yaqoob Al-Shuaibi



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!