「カートに追加」の ajax 呼び出しを実行して、クリックした行の他の列から製品コード (行 ID) と数量を渡し、jqgrid 列をクリックするとカート ページにリダイレクトする方法を探しています。
によると
https://github.com/free-jqgrid/jqGrid/wiki/improvement-of-formatter:-"showlink"
showlink フォーマッタが改良されたので使ってみました。
コルモデルをやってみた
{"label":"Add to cart",
"name":"Addtocrt_addtocrt","search":false,"sortable":false,
"viewable":false,"formatter":"showlink","formatoptions":{"showAction":addToCartOnClick
}}
と方法
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 は jree jqgrid では呼び出されません。
jqgrid 4.6 ダイナミックリンク フォーマッタで
onClick=addToCartOnClick
ハイパーリンクがクリックされた場合にjqgrid行からURLにデータを渡す方法で説明されているように機能しました
無料の jqgrid addToCartOnClick では、dynamicLink フォーマッタからも呼び出されません。
メソッドを呼び出して、無料のjqgridでクリックされた行から列の値を取得する方法は?