Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.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
Jquery JQGrid不支持基于多个筛选条件的自动完成_Jquery_Jqgrid_Jquery Autocomplete - Fatal编程技术网

Jquery JQGrid不支持基于多个筛选条件的自动完成

Jquery JQGrid不支持基于多个筛选条件的自动完成,jquery,jqgrid,jquery-autocomplete,Jquery,Jqgrid,Jquery Autocomplete,我有一个JQGrid,有多个标题和两列,并启用了自动完成功能。 当我转到JQGrid Filter并选择一个要在启用Autocomplete的情况下过滤的列时,它工作得很好,Autocomplete函数按预期调用。但是,当我为同样包含自动完成功能的筛选结果添加第二列时,自动完成功能对于新筛选器不起作用,并且它还禁用了前一个筛选器上的自动完成功能 自动完成的代码如下所示: Common.setAutoComplete = function (id, url, select, change, ext

我有一个JQGrid,有多个标题和两列,并启用了自动完成功能。 当我转到JQGrid Filter并选择一个要在启用Autocomplete的情况下过滤的列时,它工作得很好,Autocomplete函数按预期调用。但是,当我为同样包含自动完成功能的筛选结果添加第二列时,自动完成功能对于新筛选器不起作用,并且它还禁用了前一个筛选器上的自动完成功能

自动完成的代码如下所示:

Common.setAutoComplete = function (id, url, select, change, extraParams)
    {
      id.autocomplete(
      {
        source: function (request, response)
        {
            alert("start of autocomplete");
            $.ajax(
            {
                url: url,
                data: { query: request.term, extraParameters: extraParams },
                dataType: 'json',
                type: 'POST',
                success: function (data)
                {
                    if (data)
                        response(data);
                }
            });
        },
        delay: 10,
        minChars: 1,
        matchSubset: 1,
        matchContains: 1,
        cacheLength: 400,
        select: select,
        change: change,
        autoFill: true
    });
    };
JQGrid的输出如下所示:

<script type="text/javascript">
var invalidRows = [];
var allRowsValid = true;
var validRows = [];
var IssuerListTablerowId;
var IssuerListTablehasDefaultFilter = true;
var currentTableRowId;
var rowsToSave = [];
var IssuerListTablerowsToSave = [];
var currentTableId = 'IssuerListTable';
     $(document).ready(function(){

     $('#IssuerListTable').jqGrid({

     url:        '/Issuers/GetAll/',
     mtype:      'POST',
     datatype:   'json',
     colNames: ['Issuer', 'ICN', 'Contact', 'Broker'],

     colModel: [
     {"sortable":true, "search":true, "editable":false, "hidden":false, name: 'Name', editrules:{}, addrules:{}, searchoptions: {sopt: ['cn','nc'], searchhidden:true,hidden:false,dataInit:function(a){Common.setAutoComplete($(a),'/Issuers/GetIssuerByShortNameAndLongNameForAutoComplete',null);}} }, 
     {"sortable":true, "search":true, "editable":false, "hidden":false, name: 'ICN', editrules:{}, addrules:{}, searchoptions: {sopt: ['cn','nc'], searchhidden:true,hidden:false} , width: 30}, 
     {"sortable":true, "search":true, "editable":false, "hidden":false, name: 'Contact', editrules:{}, addrules:{}, searchoptions: {sopt: ['cn','nc'], searchhidden:true,hidden:false} , width: 50},     
     {"sortable":true, "search":true, "editable":false, "hidden":false, name: 'Broker', editrules:{}, addrules:{}, searchoptions: {sopt: ['cn','nc'], searchhidden:true,hidden:false,dataInit:function(a){Common.setAutoComplete($(a),'/Brokers/GetBrokersByNameForAutoComplete',false);}} , width: 90}],

onSelectRow: function(id){

                        window.location = '/Issuer/' + id ;      

                    },

     multiselect: false,    
     pager: $('#IssuerListPager'),
     editurl:        '',    
     rowNum: 20,    
     pgbuttons: false,    
     pginput: false,    
     rowList: [],    
     scrollRows: true,    
     scroll: 1,    
     recordtext: "{2} Records",    
     rowNumbers: false,    
     sortname:   '',    
     sortorder: "asc",    
     hiddengrid: false,    
     caption:    '',    
     subGrid: false,    
     toppager: false,
     height: 400,   
     shrinkToFit: true,
     autowidth: true,
     viewrecords: true,
     altClass:   'altRow',
     altRows: true,

  loadComplete: function (data) { $('#IssuerListTable').trigger('jqGrid_loadComplete_ongrid', data); return; },

     gridComplete: function() { $(document).trigger('jqGrid_gridComplete');$('#IssuerListTable').trigger('jqGrid_gridComplete_ongrid');Pfc.Common.DisplaySearchDataInPager('IssuerListTable','IssuerListPager',IssuerListTablehasDefaultFilter); return; },

     beforeRequest: function() { var event = $.Event('jqGrid_beforeRequest'); $('#IssuerListTable').trigger(event); return !event.isDefaultPrevented(); },

     beforeSelectRow: function(rowid, e) {  var event = jQuery.Event('jqGrid_beforeSelectRow'); $('#IssuerListTable').trigger(event, [rowid, e]); return !event.isDefaultPrevented(); },

     onSelectAll: function(rowids, status) { $('#IssuerListTable').trigger('jqGrid_onSelectAll', [status, rowids]); },

     });

     $('#IssuerListTable').jqGrid('navGrid', '#IssuerListPager', {edit:false, edittext:'Edit', add:false, addtext:'Add', del:false, deltext:'Delete', search:true, searchtext:'Search', view:false}, {/**/ }, {/*Add*/beforeShowForm:function(){} }, {reloadAfterSubmit:true, mtype:'POST', url:''}, { search:true, groupOps: [ { op: "AND", text: "any"} ],  searchtext: 'Search',  caption: "Search Issuers",  Reset: "Clear",  closeAfterSearch: true,  closeOnEscape: true,  multipleSearch: true }, {/*view*/});$('#IssuerListTable').jqGrid('navButtonAdd', '#IssuerListPager', {position:'first', caption:'Add', buttonicon:'ui-icon-plus', onClickButton: function(){$(location).attr('href', '/Issuer/Add')}});

     });

</script>
多谢各位