这是我的jqGrid搜索工具栏脚本:
<link rel="stylesheet" type="text/css" media="screen" href="jqGrid/css/ui.jqgrid.css" />
<link rel="stylesheet" type="text/css" media="screen" href="jqGrid/plugins/ui.multiselect.css" />
<script src="jqGrid/js/i18n/grid.locale-en.js" type="text/javascript"></script>
<script src="jqGrid/js/jquery.jqGrid.min.js" type="text/javascript"></script>
<script src="jqGrid/js/jquery.jqGrid.src.js" type="text/javascript"></script>
<script src="jqGrid/src/jquery.fmatter.js" type="text/javascript"></script>
<script src="jqGrid/src/jqModal.js" type="text/javascript"></script>
jQuery("#list").jqGrid({
url:'dounfinish.php',
datatype: 'json',
mtype: 'POST',
colNames:['id','Date', 'Line'],
colModel :[
{name:'def_id', index:'def_id', hidden:true, width:55},
{name:'Problem_date', index:'Problem_date', width:90, editable:true},
{name:'Line', index:'Line', width:80, align:'right', editable:true,search:true,stype:'text',searchoptions:{sopt:['cn']}}],
pager: jQuery('#pager'),
rowNum:10,
rowList:[10,20,30],
sortname: 'Problem_date',
sortorder: "desc",
viewrecords: true,
imgpath: 'themes/basic/images',
caption: 'OQC DEFECT DATA'
});
jQuery("#list").jqGrid('navGrid','#pager',{edit:true,add:false,del:false,search:false});
jQuery("#list").jqGrid('filterToolbar', { stringResult: true, searchOnEnter: true, groupOp:'AND'});
在控制台中:
_search:true
nd:1306513344121
rows:10
page:1
sidx:Problem_date
sord:desc
filters:{"groupOp":"AND","rules":[{"field":"Line","op":"cn","data":"7"}]}
如何发布“数据”值?所以,我可以搜索数据使用工具栏搜索。
答案 0 :(得分:2)
您应该使用filterToolbar方法的defaultSearch:'cn'
选项:
jQuery("#list").jqGrid('filterToolbar', {stringResult: true, defaultSearch:'cn'});
(我另外删除了带有默认值的选项)。
如果您使用本地网格数据或选项loadonce:true
,则另一个jqGrid参数ignoreCase:true也可能对您有用。
更新:如果您要对不同的列使用不同的搜索操作,则应使用正确的colModel
选项:searchoptions
而不是searchoption
('s '最后的角色)。
更新2 :如果您在“行”列中的搜索工具栏中键入bla
,请使用数据
_search=true&nd=1306489580463&rows=10&page=1&sidx=Problem_date&sord=desc&filters=%7B%22groupOp%22%3A%22AND%22%2C%22rules%22%3A%5B%7B%22field%22%3A%22Line%22%2C%22op%22%3A%22cn%22%2C%22data%22%3A%22bla%22%7D%5D%7D
将被发送到将被解码为
的服务器_search=true&nd=1306489580463&rows=10&page=1&sidx=Problem_date&sord=desc&filters={"groupOp":"AND","rules":[{"field":"Line","op":"cn","data":"bla"}]}
所以将使用的操作是“cn”。
更新3 :如果您使用datatype: 'json'
而不使用loadonce:true
,则服务器负责对数据进行排序,分页和过滤。 jqGrid只是在参数(rows
,page
,sidx
,sord
,_search:true
,filters
)中发送相应的信息。如果您不能或不想在服务器端执行所有操作,则只需使用loadonce:true
,客户端部分(jqGrid自己)将datatype
更改为“本地”在第一次加载之后,将完成你自己所需的一切。如果您的数据大小很小(大约100行),它的工作效果非常好。你可以试试这种方式。