JQGrid AlertMod警告消息的位置
我的页面中有许多jqgrids。弹出警报模式窗口警告“请选择一行”始终显示在顶部。我希望模态窗口显示在生成编辑事件的JQGrid旁边。 我实现这一点的唯一方法是将JQGrid源代码更改为以下代码JQGrid AlertMod警告消息的位置,jqgrid,Jqgrid,我的页面中有许多jqgrids。弹出警报模式窗口警告“请选择一行”始终显示在顶部。我希望模态窗口显示在生成编辑事件的JQGrid旁边。 我实现这一点的唯一方法是将JQGrid源代码更改为以下代码 //Line number 7866 if (o.edit) { tbd = $("<td class='ui-pg-button ui-corner-all'></td>"); pEdit = pEdit || {}; $(tbd).append("&l
//Line number 7866
if (o.edit) {
tbd = $("<td class='ui-pg-button ui-corner-all'></td>");
pEdit = pEdit || {};
$(tbd).append("<div class='ui-pg-div'><span class='ui-icon "+o.editicon+"'></span>"+o.edittext+"</div>");
$("tr",navtbl).append(tbd);
$(tbd,navtbl)
.attr({"title":o.edittitle || "",id: pEdit.id || "edit_"+elemids})
.click(function(){
if (!$(this).hasClass('ui-state-disabled')) {
var sr = $t.p.selrow;
if (sr) {
if($.isFunction( o.editfunc ) ) {
o.editfunc(sr);
} else {
$($t).jqGrid("editGridRow",sr,pEdit);
}
} else {
$.jgrid.viewModal("#"+alertIDs.themodal,{gbox:"#gbox_"+$t.p.id,jqm:true});
//***********
//Added this to change the location of the Warning Alert window
//Line number 7883
$("#alertmod")[0].style.top =$("#gbox_"+$t.p.id)[0].offsetTop;
//***********
$("#jqg_alrt").focus();
}
}
return false;
有没有更简单的方法可以在不修改src代码的情况下实现这一点。请参见此答案
它可以是你想要的另一种选择
var orgViewModal = $.jgrid.viewModal;
$.extend($.jgrid,{
viewModal: function (selector,o){
if(selector == '#alertmod'){
var of = jQuery(o.gbox).offset();
var w = jQuery(o.gbox).width();
var h = jQuery(o.gbox).height();
var w1 = $(selector).width();
var h1 = $(selector).height();
$(selector).css({
'top':of.top+((h-h1)/2),
'left':of.left+((w-w1)/2)
});
}
orgViewModal.call(this, selector, o);
}
});