【问题标题】:jqGrid - unable to display advanced search dialogjqGrid - 无法显示高级搜索对话框
【发布时间】:2014-09-09 15:09:09
【问题描述】:

我正在通过 php/PDO 加载 ~6K 行。搜索按钮出现在导航工具栏中,但单击时不执行任何操作。

包括:

<link href="//ajax.googleapis.com/ajax/libs/jqueryui/1/themes/smoothness/jquery-ui.css" type="text/css" rel="stylesheet" />
<link href="//cdn.jsdelivr.net/jqgrid/4.6.0/css/ui.jqgrid.css" type="text/css" rel="stylesheet"/>
<link href="//cdn.jsdelivr.net/jqgrid/4.6.0/plugins/searchFilter.css" rel="stylesheet" type="text/css">
<link href="//cdnjs.cloudflare.com/ajax/libs/jqgrid/4.6.0/plugins/ui.multiselect.css" rel="stylesheet" type="text/css"/>

<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.11.1/jquery-ui.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jqgrid/4.6.0/plugins/ui.multiselect.js"></script>
<script src="//cdn.jsdelivr.net/jqgrid/4.6.0/i18n/grid.locale-en.js" ></script>
<script src="//cdn.jsdelivr.net/jqgrid/4.6.0/jquery.jqGrid.src.js"></script>
<script src="//cdn.jsdelivr.net/jqgrid/4.6.0/plugins/grid.addons.js"></script>
<script src="//cdn.jsdelivr.net/jqgrid/4.6.0/plugins/grid.postext.js"></script>
<script src="//cdn.jsdelivr.net/jqgrid/4.6.0/plugins/grid.setcolumns.js"></script>
<script src="//cdn.jsdelivr.net/jqgrid/4.6.0/plugins/jquery.contextmenu.js"></script>
<script src="//cdn.jsdelivr.net/jqgrid/4.6.0/plugins/jquery.searchFilter.js"></script>

网格定义为:

var grid = $("#list2");

grid.jqGrid({
    url: "loadIssues.php",
    datatype: "json",
    colModel: [

 ...
                    ],
    pager: "#pager2",
    viewrecords: true,
    sortorder: "desc",
    gridview: true,
    autoencode: true,
    ignoreCase : true,
    loadonce : true,
    width: 800,
    height: "auto",
    shrinkToFit: true,
    search: true,
    jsonReader: {
            repeatitems: false,
            root: "rows"
    },

接着是:

grid.jqGrid('navGrid','#pager2',{add:false,edit:false,del:false,search:true,refresh:false},
                    {},{},{},  {multipleSearch:true,overlay:false});

grid.searchGrid(  {multipleSearch:true,overlay:false} );

Chrome 调试器不显示任何错误。

我错过了哪些步骤?

【问题讨论】:

  • 是否可以提供指向示例页面的链接?
  • Unf 没有。都是内部的。
  • 你应该删除 plugins/searchFilter.css, plugins/jquery.searchFilter.js 和其他你不需要的插件。 search: true 选项也可能是错误的。网址..jqueryui/1/themes/smoothness/jquery-ui.css很可疑。应该是..jqueryui/1.11.1/themes/smoothness/jquery-ui.css

标签: jquery jqgrid


【解决方案1】:
  1. 您应该删除 plugins/searchFilter.cssplugins/jquery.searchFilter.js旧的灼热组件已被弃用。
  2. 网址../jqueryui/1/themes/smoothness/jquery-ui.css很可疑。应该是../jqueryui/1.11.1/themes/smoothness/jquery-ui.css
  3. 删除其他不需要的插件。
  4. search: true 选项也可能是错误的,但并不重要。
  5. jsonReaderroot: "rows" 属性是默认值,可以删除。同样shrinkToFit: true 选项也是默认选项(参见the documentation 中描述的选项表中的“默认”列)并且可以删除。

【讨论】:

  • 问题出在这一行:plugins/grid.addons.js。删除它解决了问题。