【问题标题】:How to fix jqgrid column chooser garbage layout如何修复 jqgrid 列选择器垃圾布局
【发布时间】:2012-05-28 09:37:24
【问题描述】:

jqgrid 列选择器中的列列表显示为单列并被截断:

如何解决这个问题? 问题出现在 FireFox、Chrome、IE 页面定义如下。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<link rel="stylesheet" href="jquery-ui-1.8.12.custom.css" type="text/css" title="ui-theme" />
<link href="ui.jqgrid.css" rel="stylesheet" />
<link href="ui.multiselect.css" />
<link href="Site.css" rel="stylesheet" />
<script src="jquery-1.7.1.js" type="text/javascript"></script>
<script src="jquery-ui-git.js" type="text/javascript"></script>
<script src="jqgrid/plugins/ui.multiselect.js" type="text/javascript"></script>
<script src="jquery.contextmenu-fixed2.js" type="text/javascript"></script>
<script src="grid.locale-en.js" type="text/javascript"></script>
<script type="text/javascript" src="jquery.jqGrid.src-multiselect1-deleteandsortpatches.js"></script>
    <script src="json2.js" type="text/javascript"></script>
    <script src="erp.js" type="text/javascript"></script>

    <script type="text/javascript">
    var $grid = $("#grid");
    $(function() {
      "use strict";
      $grid.jqGrid({
    ...

    $grid.jqGrid('navButtonAdd', '#grid_toppager', {
        onClickButton: function () {
            $(this).jqGrid('columnChooser', {
            });
        }
    });

【问题讨论】:

  • 你可以像jsfiddle.net一样提供实时链接
  • 您在发布的页面上有很多小错误或非常奇怪的事情(title&lt;link&gt; 上,var $grid,$(function() { 之前等等)。此外,您使用未知版本的 jQuery UI(jquery-ui-git.js 的本地副本)结合来自jquery-ui-1.8.12old CSS。您使用了一些未知版本的 jqGrid (jquery.jqGrid.src-multiselect1-deleteandsortpatches.js) 等等。 Stackoverflow 不是免费调试您的特定代码的地方。您应该简化您的代码并将其发布为可能对其他访问者有一些价值的形式对其他访问者
  • 还有一点:&lt;meta http-equiv="X-UA-Compatible" content="IE=edge" /&gt; 将被 HTML5 忽略 (&lt;!DOCTYPE html&gt;)。如果您使用 HTML5,则必须在 HTTP 标头中设置信息。
  • @ Rohit Azad 如果有人感兴趣,我可以创建私人测试用例并发送链接。请让我知道您可以这样做。
  • @Oleg 我很抱歉。我编辑了html代码。根据w3.org/TR/html401/struct/links.html 12.1.4,标题是链接元素的有效属性。 jquery.jqGrid.src-multiselect1-deleteandsortpatches.js 基于从您的网站加载的具有相似名称的修补文件。 jquery-ui-git.js 是从 jqyery ui git 加载的,它在单个文件中包含所有模块。 Git load 给出了这个名字。

标签: javascript jquery html css jqgrid


【解决方案1】:

如果您将获得一些使用 columnChooser 并且工作正确的工作演示,然后删除所需的 ui.multiselect.css,那么您将获得非常接近您的结果。

查看the demo 哪个显示

所以我建议您在 Fiddler 或 Firebug 中验证 ui.multiselect.css 确实正确加载到您的解决方案中。可能您应该只替换该行

<link href="ui.multiselect.css" />

用线

<link href="jqgrid/plugins/ui.multiselect.css" />

对应于您使用的另一行

<script src="jqgrid/plugins/ui.multiselect.js" type="text/javascript"></script>

【讨论】:

  • 非常感谢。你是天才。如相关代码所示,缺少 rel 属性。我通过将 line 更改为 &lt;link href="ui.multiselect.css" rel="stylesheet" /&gt; 添加了 rel 属性这解决了问题。
猜你喜欢
  • 1970-01-01
  • 2015-01-18
  • 2019-04-07
  • 1970-01-01
  • 1970-01-01
  • 2021-01-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多