2017-12-18 161 views
0

jQuery網格頂部有過濾器選項,我可以在其中輸入「文本」或實現下拉列表。如何在jQgrid中實現搜索,以便用戶可以通過<,>或<=, > =?進行過濾。

我想不過的事情,是允許使用搜索int列,如「稅」與配置選項,如「< 10」,其中既有「<」和「10」應該是用戶的參數。這將是一種客戶搜索。

我不希望在另外一種模式下進行此項搜索,但作爲最後一招也是可以的。

這是我到目前爲止。

var mydata = [ 
 
     {id:"1",invdate:"2010-05-24",name:"test",note:"note",tax:"10.00",total:"2111.00"} , 
 
     {id:"2",invdate:"2010-05-25",name:"test2",note:"note2",tax:"20.00",total:"320.00"}, 
 
     {id:"3",invdate:"2007-09-01",name:"test3",note:"note3",tax:"30.00",total:"430.00"}, 
 
     {id:"4",invdate:"2007-10-04",name:"blah",note:"stuff",tax:"10.00",total:"210.00"}, 
 
     
 
    ]; 
 
grid = jQuery("#list"); 
 

 
grid.jqGrid({ 
 
    data: mydata, 
 
    datatype: "local", 
 
    height: 150, 
 
    rowNum: 10, 
 
    rowList: [10,20,30], 
 
    colNames:['Inv No','Date', 'Client', 'Amount','Tax','Total','Notes'], 
 
    colModel:[ 
 
      {name:'id',index:'id', width:60, sorttype:"int", search: true}, 
 
      {name:'invdate',index:'invdate', width:90, sorttype:"date", formatter:"date"}, 
 
      {name:'name',index:'name', width:100}, 
 
      {name:'amount',index:'amount', width:80, align:"right",sorttype:"float", formatter:"number"}, 
 
      {name:'tax',index:'tax', width:80, align:"right",sorttype:"float", 
 
     \t \t \t searchoptions: {sopt:['gt']} 
 
      },   
 
      {name:'total',index:'total', width:80,align:"right",sorttype:"float"},   
 
      {name:'note',index:'note', width:150, sortable:false}   
 
     ], 
 
     pager: "#pager", 
 
     viewrecords: true, 
 
     autowidth: true, 
 
     height: 'auto', 
 
     caption: "Test Grid" 
 
}); 
 

 
jQuery("#list").jqGrid('filterToolbar', {stringResult: true, searchOnEnter: false, defaultSearch: "cn" });
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.4/themes/redmond/jquery-ui.min.css"> 
 
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/free-jqgrid/4.15.2/css/ui.jqgrid.min.css"> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/free-jqgrid/4.15.2/jquery.jqgrid.min.js"></script> 
 
<table id="list"></table> 
 
<div id="pager"></div>

回答

1

如果我理解正確,你需要什麼,你應該添加searchOperators: truefilterToolbar選項和一個在searchoptionssopt屬性比較操作指定更多。例如,

{name: "tax", width: 80, align: "right", sorttype: "float", 
    searchoptions: { 
    sopt: ["le", "lt", "gt", "ge", "eq", "ne"] 
    } 
} 

https://jsfiddle.net/z6rfw3cp/

相關問題