2012-09-01 66 views

回答

2

$.jgrid.info_dialog內部使用$.jgrid.createModal它採用$.jgrid.jqModal(見the line),因爲沒有這麼長的時間裏面介紹(見我的建議here)。所以,你可以這樣做

$.jgrid.jqModal = $.extend($.jgrid.jqModal || {}, { 
    zIndex: 1234 
}); 

因爲navGrid另一個參數必須添加額外

$.extend($.jgrid.nav, { 
    alertzIndex: 1234 
}); 

使$.jgrid.jqModal.zIndex設置工作。

已更新:以任何方式,您可以使用$.jgrid.info_dialog的「子類」(例如the answer)。對應的代碼可能是這樣的:

var oldInfoDialog = $.jgrid.info_dialog; 
$.extend($.jgrid,{ 
    info_dialog: function (caption, content, c_b, modalopt) { 
     if (modalopt && (modalopt.zIndex === null || modalopt.zIndex === undefined || 
      (typeof modalopt.zIndex === "number" && modalopt.zIndex < 1234))) { 

      modalopt.zIndex = 1234; 
     } 
     return oldInfoDialog.call (this, caption, content, c_b, modalopt); 
    } 
}); 
+0

部分是好的,但在editrules使用時無法正常工作 –

+0

@DavidO:你應該更準確地描述你的問題。您沒有指定您使用的*編輯模式*。如果你使用表單編輯,你應該沒有問題與數據的驗證。我同意,jqGrid在轉發'zIndex'時遇到問題。如何解決問題有很多選擇。可以修改一行jqGrid代碼([here](https://github.com/tonytomov/jqGrid/blob/v4.4.1/js/grid.common.js#L204)或[here](https:// github.com/tonytomov/jqGrid/blob/v4.4.1/js/grid.common.js#L194))或覆蓋'info_dialog'方法,並用'zIndex'設置調用原始的方法。 – Oleg

+0

我有:{name:'procent',index:'procent',width:70,align:'center',editable:true,editrules:{required:true}},當字段「procent」爲空時,info_dialog出現,但Z指數是1000,並在UI對話後面 –