I'm looking for a way to perform "Add to cart" ajax call to pass product code (row id) and quantity from other columns in clicked row and redirect to cart page if clicked in jqgrid column.
According to
https://github.com/free-jqgrid/jqGrid/wiki/improvement-of-formatter:-"showlink"
showlink formatter is improved so I tried to use it.
I tried colmodel
{"label":"Add to cart",
"name":"Addtocrt_addtocrt","search":false,"sortable":false,
"viewable":false,"formatter":"showlink","formatoptions":{"showAction":addToCartOnClick
}}
and method
function addToCartOnClick(rowId, iRow, iCol, cellValue, e) {
var
$quantity = $('#' + $.jgrid.jqID(rowId) + '>td:nth-child(' + (iCol + 1) + ')'),
quantityVal;
if (iCol < 0) {
quantityVal = 1;
} else
if ($quantity.find('>input').length === 0) {
quantityVal = $quantity.text();
}
else {
quantityVal = $quantity.find('>input').val();
}
window.location = 'Store/AddToCart?' + $.param({
id: rowId,
quantity: quantityVal
});
}
addToCartOnClick is not called in jree jqgrid.
In jqgrid 4.6 dynamiclink formatter
onClick=addToCartOnClick
worked as described in How to pass data to url from jqgrid row if hyperlink is clicked
In free jqgrid addToCartOnClick is also not called from dynamicLink formatter.
How to call method and get column values from clicked row in free jqgrid?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…