gpt4 book ai didi

asp.net-mvc - 为什么 jqGrid 禁用了我页面的其余部分?

转载 作者:行者123 更新时间:2023-12-01 00:46:21 26 4
gpt4 key购买 nike

我有一个 jqGrid 调用 Controller 操作(将 JSON 返回到 jqGrid)。当我的网格被填充时,除了“表体”之外的所有内容都被禁用,就像表体通过某个模式窗口显示一样: example

这是我初始化网格的 js 代码,以及 html:

<head>
<title>Insert</title>
<link href="/Content/Site.css" rel="stylesheet" type="text/css" />
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.5.1.min.js" type="text/javascript"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.8.1/jquery.validate.min.js" type="text/javascript"></script>
<script src="http://ajax.aspnetcdn.com/ajax/mvc/3.0/jquery.validate.unobtrusive.min.js" type="text/javascript"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.14/jquery-ui.min.js" type="text/javascript"></script>
<link type="text/css" rel="Stylesheet" href="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.10/themes/ui-lightness/jquery-ui.css" />
<script src="/Scripts/EditorHookup.js" type="text/javascript"></script>
<script src="../../Scripts/grid.locale-en.js" type="text/javascript"></script>
<script src="../../Scripts/jquery.jqGrid.min.js" type="text/javascript"></script>

<script type="text/javascript">
var gridimgpath = '/content/themes/base/images';
var gridDataUrl = '/Home/JsonPosloviForDate';
var jsonDate = "\/Date(1309816800000)\/";
var date = eval(jsonDate.replace(/\/Date\((\d+)\)\//gi, "new Date($1)"));
$(function () {
jQuery("#list").jqGrid({
url: gridDataUrl + '?currDate=' + date.toJSON(),
datatype: "json",
mtype: 'GET',
colNames: ['Šifra posla', 'Vrsta posla', 'Partner', 'Opis', 'Broj sati'],
colModel: [
{ name: 'SifPosao', index: 'SifPosao', width: 50, align: 'left' },
{ name: 'kratVrstaPosao', index: 'kratVrstaPosao', width: 100, align: 'left' },
{ name: 'nazPartner', index: 'nazPartner', width: 100, align: 'left' },
{ name: 'opis', index: 'opis', width: 100, align: 'left' },
{ name: 'brSati', index: 'brSati', width: 100, align: 'left' },
],
rowNum: 20,
rowList: [10, 20, 30],
imgpath: gridimgpath,
height: 'auto',
width: '700',
pager: jQuery('#pager'),
sortname: 'SifPosao',
viewrecords: true,
sortorder: "desc",
caption: "Poslovi"
});
});
</script>

</head>
<body>
...
<table id="list" class="scroll" cellpadding="0" cellspacing="0"></table>
<div id="pager" class="scroll" style="text-align:center;"></div>
...
</body>

最佳答案

loadui jqGrid 的参数允许您管理如何阻止网格。您可以尝试使用loadui:'disable'以验证这是否是您遇到的问题。

尽管如此,我觉得你描述的行为很奇怪。 jqGrid 使用<div>作为覆盖层,div 有一个名为“loading”的附加类。您应该验证您的 CSS 是否存在名称冲突并将相同的类名称用于其他目的。

顺便说一下,我建议您检查一下您使用的 jqGrid 参数和 HTML 标记。

  • 参数imgpath自 jqGrid 3.5 版本以来将不再使用(请参阅 here )。你真的用过复古版的jqGrid吗?如果没有,您应该删除 imgpath .
  • 您应该删除属性(property) align: 'left'来自colModel因为默认值align已经“离开”(参见 here )
  • 您应该删除class="scroll" cellpadding="0" cellspacing="0"来自<table id="list">class="scroll" style="text-align:center;"来自<div id="pager"> 。 jqGrid 的“复古”版本需要这些设置,但现在不需要(请参阅 here HTML 示例)。
  • 最好使用 pager: '#pager'而不是pager: jQuery('#pager') .
  • 而不是构建 url: gridDataUrl + '?currDate=' + date.toJSON()最好使用两个参数:url: gridDataUrlpostData: {currDate: date.toJSON()}或事件更好postData: {currDate: function() { return date.toJSON(); } } 。如果使用 postData 内的函数该属性的值将在每次网格加载/刷新时进行评估(有关详细信息,请参阅 here)。如果您确实想要构建 url像您一样手动,目前您需要使用 encodeURIComponentjQuery.param :url: gridDataUrl + '?currDate=' + encodeURIComponent(date.toJSON())url: gridDataUrl + '?' + jQuery.param({currDate:date.toJSON()}) .
  • 你不应该使用eval .

更新:我在您发送 jqGrid CSS 的示例中没有找到。如果我使用以下行将 block 替换为所有 CSS 和 JavaScript 文件

<link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.14/themes/ui-lightness/jquery-ui.css" />
<link rel="stylesheet" type="text/css" href="http://www.ok-soft-gmbh.com/jqGrid/jquery.jqGrid-4.1.1/css/ui.jqgrid.css" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.14/jquery-ui.min.js"></script>
<script type="text/javascript" src="http://www.ok-soft-gmbh.com/jqGrid/jquery.jqGrid-4.1.1/js/i18n/grid.locale-en.js"></script>
<script type="text/javascript" src="http://www.ok-soft-gmbh.com/jqGrid/jquery.jqGrid-4.1.1/js/jquery.jqGrid.min.js"></script>

所描述的问题不存在。

关于asp.net-mvc - 为什么 jqGrid 禁用了我页面的其余部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6580858/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com