我使用免费的jqgrid 4.8。 我在模态对话框中使用jqgrid。 当我尝试使用寻呼机的删除按钮时,所有对话框都被禁用。
$(function ()
{
$("#Ecran").dialog(
{
dialogClass: 'Ecran',
autoOpen: false,
width: 500,
height:400,
modal: true,
open: function (event, ui) {
$("#jqGrid").jqGrid({
url: 'http://trirand.com/blog/phpjqgrid/examples/jsonp/getjsonp.php?callback=?&qwery=longorders',
mtype: "GET",
datatype: "jsonp",
colModel: [
{ label: 'OrderID', name: 'OrderID', key: true, width: 75 },
{ label: 'Customer ID', name: 'CustomerID', width: 150 },
{ label: 'Order Date', name: 'OrderDate', width: 150 },
{ label: 'Freight', name: 'Freight', width: 150 },
{ label:'Ship Name', name: 'ShipName', width: 150 }
],
viewrecords: true,
width: 480,
height: 250,
rowNum: 20,
pager: "#jqGridPager"
});
jQuery("#jqGrid").jqGrid('navGrid', '#jqGridPager', {
del: true, add: false, edit: false,
beforeRefresh: function () {},
afterRefresh: function () {}},
{}, // default settings for edit
{}, // default settings for add
{}, // delete
{}, // search options
{}
);
},
close:function () {}
});
});
有什么想法吗?感谢
答案 0 :(得分:2)
我认为通过在jQuery UI对话框中使用jqModal来解决问题的根源。 jqGrid是jQuery插件。因此它不会使用来自jQuery UI的仅CSS 。它不使用jQuery UI对话框。
我建议你加入
行$.fn.jqm = false;
关闭jqModal模块并使用jQuery UI功能。见http://jsfiddle.net/9ezy09ep/7/。我将在后面更详细地研究这个问题,以改进所描述测试用例的免费jqGrid代码。
更新:我在免费的jqGrid中做了一些额外的修改,这允许替代解决方案。现在可以使用像
这样的代码$.jgrid.jqModal = $.jgrid.jqModal || {};
$.extend(true, $.jgrid.jqModal, {toTop: true});
更改jqModal模块的行为。下一个演示显示结果http://jsfiddle.net/OlegKi/9ezy09ep/9/
答案 1 :(得分:0)
jqGrid在创建模态对话框时应该使用 ui-dialog 类。
您必须修改 jquery.jqGrid.min.js 文件。
根据5.0.0版,
只需将 ui-dialog 类添加到以下行,
modal: { modal: "ui-widget ui-widget-content ui-corner-all ",
e.g。
modal: { modal: "ui-widget ui-widget-content ui-corner-all ui-dialog",
根据免费的jqGrid版本,
将 ui-dialog 类添加到以下行
dialog: {
...
window: "ui-widget ui-widget-content ui-corner-all ui-front",
...
e.g。
dialog: {
...
window: "ui-widget ui-widget-content ui-corner-all ui-front ui-dialog",
...