[ Javascript, CSSのセット ]
<!-- ContextMenu -->
<script type="text/javascript" src="Script/js/jquery.contextmenu.r2.js" charset="UTF-8"></script>
<link rel="stylesheet" type="text/css" src="Script/css/contextmenu.css" charset="UTF-8" />
[ contextMenuのセット ]
<!-- Another Photos, Get Another details のコンテキストメニュー -->
<div class="contextMenu" id="cntxtidphotos">
<ul>
<li id="mtphotos">
<img src="Img/mt.png"/>
Open Another Photos
</li>
<li id="mtdtlapi">
<img src="Img/mt.png"/>
Get detailed spec from MT
</li>
</ul>
</div>
[ コード例 ]
loadCompleteで、行走査して各行の指定位置セルに設定
var rowId;
$.each(rows, function (i) {
// === 写真ページ用コンテキストメニュー === //
$('#' + rows[i]['id']).children('td').eq(0).contextMenu('cntxtidphotos', {
menuStyle: {width: '200px'},
bindings: {
'mtphotos': function (t) {
var url = PHOTOS_URL + rowId;
// ページフィルターログ書込み //
$.post("paramCheck", {});
window.open(url);
},
'mtdtlapi': function (t) {
$.ajax({
url: "ReqUpdtAvesselSpecMTGroovy",
type: "POST",
dataType: "json",
async: false,
data: {imo: rowId},
success: function (res) {
// リフレッシュを発生 //
$('#refresh_specs').click();
},
});
},
},
// これでpublicな変数が不要 //
onContextMenu: function (event, menu) {
rowId = $(event.target).parent("tr").attr("id"); // = imo
var grid = $("#jqGrid");
grid.setSelection(rowId); // 行を選ばせる
return true;
}
});
[ 画面例 ]
|