Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 筛选工具栏不在jqGrid中_Javascript_Jquery_Jqgrid - Fatal编程技术网

Javascript 筛选工具栏不在jqGrid中

Javascript 筛选工具栏不在jqGrid中,javascript,jquery,jqgrid,Javascript,Jquery,Jqgrid,我正在使用免费的jqGrid 4.14。我在网格中显示过滤器工具栏时遇到问题。我使用的代码与我在版本4.1.2中用于显示过滤器工具栏的代码相同 但这里没有出现工具栏 我需要工具栏显示只有当过滤器图像是在网格中点击,否则它应该隐藏。所以,我在以前的版本中使用了下面的代码,但在新版本中也是如此 不起作用 grid.jqGrid({ datatype: "jsonstring", datastr: grid_data, colNames: scopes

我正在使用免费的jqGrid 4.14。我在网格中显示过滤器工具栏时遇到问题。我使用的代码与我在版本4.1.2中用于显示过滤器工具栏的代码相同 但这里没有出现工具栏

我需要工具栏显示只有当过滤器图像是在网格中点击,否则它应该隐藏。所以,我在以前的版本中使用了下面的代码,但在新版本中也是如此 不起作用

 grid.jqGrid({
        datatype: "jsonstring",
        datastr: grid_data,
        colNames: scopes.grid_header_column_value,
        colModel: scopes.gridcolumns,
        height: height,
        viewrecords: is_pager_enable,
        multiSort: true,
        ignoreCase: true,
        grouping: is_group_enable,
        sortorder: sort_order,

        sortable: false,
        pager: "#" + pager_id,
        treeGrid: true,
        treeGridModel: 'adjacency',
        treedatatype: "local",
        ExpandColumn: 'name',         

        gridComplete: function () {

            $("#" + grid_id+"count").html($("#" + grid_id).getGridParam('records')+" row(s)");

        },
         beforeSelectRow: function (rowid, e) {
          var item = $(this).jqGrid("getLocalRow", rowid);
             if (item != null && item.isLeaf) {
             $("#"+$rootScope.subpopup).css("display", "block");
             $scope.getPopup($rootScope.xmlname,grid_id,rowid);

                       } 
          return true;   // allow row selection
        },
        loadComplete: function () {
            var ts = this;
            //document.querySelector('#filterbutton').addEventListener('onclick', clickqw);
            if (ts.p.reccount === 0) {
                $(this).hide();
                emptyMsgDiv.show();
            } else {
                $(this).show();
                emptyMsgDiv.hide();
            }

        }            
    });


grid.jqGrid('filterToolbar', { stringResult: true, searchOnEnter: false, defaultSearch: "cn", searchOperators: true }).navGrid("#" + pager_id, { edit: false, add: false, del: false, refresh: true, search: false });
在这里,我根据需要隐藏或显示酒吧

var count = 1;
        grid.closest("div.ui-jqgrid-view").find("div.ui-jqgrid-hdiv table.ui-jqgrid-htable tr.ui-jqgrid-labels > th.ui-th-column > div.ui-jqgrid-sortable > button.btnfilter ")
                .each(function () {
                    $('<button>').css({ height: '10px',background: 'url(img/filter.png) no-repeat',border: '0'
                        }).appendTo(this).button({
                        icons: {
                            primary: ""
                        },
                        text: false
                        }).click(function (e) {

                        var idPrefix = "jqgh_" + grid[0].id + "_",
                            thId = $(e.target).closest('div.ui-jqgrid-sortable')[0].id;                      
                        if (thId.substr(0, idPrefix.length) === idPrefix) {
                            if (count == 1) {
                                $('#gview_' + grid_id).find("div.ui-jqgrid-hdiv table.ui-jqgrid-htable tr.ui-search-toolbar").show();
                                count = 0;
                            }
                            else {
                                $('#gview_' + grid_id).find("div.ui-jqgrid-hdiv table.ui-jqgrid-htable tr.ui-search-toolbar").hide();
                                count = 1;
                            }
                            return false;
                        }
                    });
                });

       $('#gview_' + grid_id).find("div.ui-jqgrid-hdiv table.ui-jqgrid-htable tr.ui-search-toolbar").hide();
var计数=1;
grid.closest(“div.ui-jqgrid-view”).find(“div.ui-jqgrid-hdiv table.ui-jqgrid-htable tr.ui-jqgrid-labels>th.ui-th-column>div.ui-jqgrid-sortable>button.btnfilter”)
.每个(功能){
$('').css({height:'10px',background:'url(img/filter.png)no repeat',border:'0'
}).附加到(此).按钮({
图标:{
初级:“”
},
文本:false
})。单击(功能(e){
var idPrefix=“jqgh_uquo”+网格[0]。id+“quo”,
thId=$(e.target).closest('div.ui-jqgrid-sortable')[0].id;
if(thId.substr(0,idPrefix.length)==idPrefix){
如果(计数=1){
$(“#gview_u”+网格id).find(“div.ui-jqgrid-hdiv table.ui-jqgrid-htable tr.ui-search-toolbar”).show();
计数=0;
}
否则{
$(“#gview_u”+网格id).find(“div.ui-jqgrid-hdiv table.ui-jqgrid-htable tr.ui-search-toolbar”).hide();
计数=1;
}
返回false;
}
});
});
$(“#gview_u”+网格id).find(“div.ui-jqgrid-hdiv table.ui-jqgrid-htable tr.ui-search-toolbar”).hide();
编辑:添加图像

这是指未应用过滤器的图像。仅显示可应用过滤器的过滤器图像(漏斗图像)

在这里,当我们单击filter only的图像时,filtertoolbar应该会出现


图片显示了您尝试实现的功能,演示会很有帮助。不清楚您在何处(在哪个回调中)使用代码。上面的代码假设过滤器工具栏中所有元素的名称和顺序都非常精确。此外,您还对jqGrid的内部元素的ID进行了假设。在过去的几年里(在4.1.2和4.14.0之间)发生了很多变化。由于支持新选项,“过滤器”工具栏的内部结构发生了更改。@Oleg我添加了图像以及应用代码的位置。代码有隐藏和显示过滤器工具栏的属性,然后应用。我现在必须从我的主要工作做其他事情。我稍后会阅读您的更改…@Oleg ok先生,只要您有空,我不确定我是否正确理解您的操作,因为您没有提供相应的演示,但在我看来,解决方案可能非常简单。查看哪个具有基本功能。