是否可以动态关闭或打开 Jqgrid 列搜索?

Is it possible to dynamically close or open a Jqgrid column search?

是否可以在加载Jgrid后打开和关闭某些栏目的搜索功能?

底层代码允许隐藏搜索部分,但不影响搜索功能

隐藏起来效果很好,但我还没有找到显示它需要做的事情

此代码不影响搜索功能

我要影响搜索

$("#gs_name").closest(".ui-search-table").hide();

Sample jsfiddle

更新

客户名称列中的所需组合

search = hidden -> search = false

搜索 = 显示 -> 搜索 = 真

$("#columnhide").click(function(){
$("#gs_name").val("")
$("#gs_name").closest(".ui-search-table").toggle();
});

如果我正确理解了您需要实施的内容,那么 http://jsfiddle.net/OlegKi/ejnrtocw/270/ 将演示您可以做什么。代码使用

$("#columnhide").click(function(){
    var $searchField = $("#gs_name");
    $searchField.val(""); // clear the filter
    $searchField.closest(".ui-search-table").toggle(); // hide or show the control
    $(this).html("<b>" + ($searchField.is(":hidden") ? "Show" : "Hide") +
                 "</b> Client Name Search");
    $("#grid")[0].triggerToolbar(); // force filtering without a filter in "name" field
});

另外修改``回调的代码如下

ondblClickRow: function(rowid, iRow, iCol, e) {
    var $grid = $(this),
        cm = $grid.jqGrid("getGridParam", "colModel"),
        cellvalue = $grid.jqGrid("getCell", rowid, iCol),
        $searchField = $("#gs_" + cm[iCol].name);

    if (!$searchField.is(":hidden")) {
        $searchField.val(cellvalue);
        this.triggerToolbar();
    }
}
This code searches its data if the column is clicked

ondblClickRow: function(rowid, iRow, iCol, e) {
        var $grid = $(this),
            cm = $grid.jqGrid("getGridParam", "colModel"),
            cellvalue = $grid.jqGrid("getCell", rowid, iCol),
            $searchField = $("#gs_" + cm[iCol].name);
        if (!$searchField.is(":hidden")) {
            $searchField.val(cellvalue);
            this.triggerToolbar();
        }
    },

检索到所有列

      ondblClickRow: function(rowid, iRow, iCol, e) {
      var grid=$('#grid');
    var cm = $(this).jqGrid("getGridParam", "colModel");
    var cmvalues = $(this).jqGrid("getRowData", rowid);
    $.each(cm, function(i,n){
        if(!n.hidden) {
            $('#gs_'+n.name).val( cmvalues[n.name])
        }
    });
    this.triggerToolbar();
  },    

我无法根据第二个密码设置第一个密码!

我要双击搜索所有列数据

这对于实用过滤器很重要

我想通过双击在所有区域进行搜索,但我绝不会在隐藏列中进行搜索!

双击隐藏的属性是colModel的一个属性。在您的情况下,您应该使用 jquery selector :hidden 来完成这项工作。

代码可以这样改:

ondblClickRow: function(rowid, iRow, iCol, e) {
    var cm = $(this).jqGrid("getGridParam", "colModel");
    var cmvalues = $(this).jqGrid("getRowData", rowid);
    $.each(cm, function(i,n){
        if(!n.hidden) {
            var elem = $('#gs_'+n.name);
            if( elem.is(":hidden") {
                // set it to empty to overcome search when trigger
                elem.val("");
            } else {
                elem.val( cmvalues[n.name]);
            }
        }
    });
    this.triggerToolbar();
},