I am trying to add a custom button to a JqGrid that implements a ‘Check Out’ process.
Basically, every row has a ‘Check Out’ button that if clicked should be able to send a post back to the server and update a shopping cart and then change the button text to ‘Undo Check Out’.
So far I have:
colNames: ['Id', ... , 'Action' ],
colModel: [
{ name: 'Id', sortable: false, width: 1, hidden: true},
...
{ name: 'action', index: 'action', width: 75, sortable: false }
],
...
gridComplete: function() {
var ids = jQuery("#east-grid").jqGrid('getDataIDs');
for (var i = 0; i < ids.length; i++) {
var cl = ids[i];
checkout = "<input style='height:22px;width:75px;' type='button' value='Check Out' onclick=\" ??? \" />";
jQuery("#east-grid").jqGrid('setRowData', ids[i], { action: checkout });
}
},
...
Where ‘???’ is the part I need to solve.
Thank you in advance for your help.
It seem to me that you have already a global JavaScript function like
MyCheckOutand call it inside of ‘???’ area. If you add to this function an additional parameter likerowIdthen you can simply so overwrite the contain of you<input>button of the ‘action’, that it will point to newMyCheckInfunction and have corresponding text in thevalueattribute. Your code will looks like following:If you have as a
rowIdnot an integer, then you should place'from the both side fromrowId.