Мне кажется, что у вас уже есть глобальная функция JavaScript, такая как MyCheckOut
, и вы вызываете ее внутри '???' площадь. Если вы добавите в эту функцию дополнительный параметр, такой как rowId
, то вы можете просто перезаписать содержащуюся в вас кнопку <input>
действия 'action', чтобы она указала на новую функцию MyCheckIn
и имела соответствующий текст в value
атрибут. Ваш код будет выглядеть следующим образом:
MyCheckOut = function (gridId,rowId) {
// do Check Out
// ...
// replace "Check Out" button to "Check In"
var checkIn = "<input style='height:22px;width:75px;' type='button' " +
"value='Check In' " +
"onclick=\"MyCheckIn(jQuery('" + gridId + "')," +
rowId + "); \" />";
jQuery(gridId).jqGrid('setRowData', rowId, { action: checkIn });
};
MyCheckIn = function (grid,rowId) {
// do Check In
// ..
// replace "Check In" button to "Check Out" like in MyCheckOut
};
jQuery("#east-grid").jqGrid({
// ...
colNames: ['Id', ... , 'Action' ],
colModel: [
{ name: 'Id', sortable: false, width: 1, hidden: true},
// ...
{ name: 'action', index: 'action', width: 75, sortable: false }
],
// ...
gridComplete: function() {
var grid = jQuery("#east-grid");
var ids = grid.jqGrid('getDataIDs');
for (var i = 0; i < ids.length; i++) {
var rowId = ids[i];
var checkOut = "<input style='height:22px;width:75px;' " +
"type='button' value='Check Out' " +
"onclick=\"MyCheckOut('#east-grid'," +
rowId + ");\" />";
grid.jqGrid('setRowData', rowId, { action: checkOut });
}
},
// ...
});
Если у вас rowId
не целое число, то вы должны поместить '
с обеих сторон от rowId
.