jqGrid:单字段搜索中的搜索规则
我试图单独验证整数数据的搜索字段,但很遗憾,我无法这样做。我已经尝试了所有可能的解决方案,比如searchrules:{required:true,integer=true}等等。。 但没有一个是有成效的。 我基本上启动了搜索对话框,没有输入任何数据,我点击了“查找”按钮。根据以上选项,我认为应该向用户显示一条验证消息,要求用户在点击find之前在字段中输入一个值 [更新]-代码片段jqGrid:单字段搜索中的搜索规则,jqgrid,Jqgrid,我试图单独验证整数数据的搜索字段,但很遗憾,我无法这样做。我已经尝试了所有可能的解决方案,比如searchrules:{required:true,integer=true}等等。。 但没有一个是有成效的。 我基本上启动了搜索对话框,没有输入任何数据,我点击了“查找”按钮。根据以上选项,我认为应该向用户显示一条验证消息,要求用户在点击find之前在字段中输入一个值 [更新]-代码片段 var grid = $("#list"); grid.jq
var grid = $("#list");
grid.jqGrid({
url:'/index.jsp',
datatype: 'json',
mtype: 'POST',
colNames:['Name','Age', 'Address'],
colModel :[
{name:'name', index:'name', width:55,search:true },
{name:'age', index:'age',
width:90,editable:true,search:true, stype:'text',
searchrules:{required:true,integer:true}},
{name:'address', index:'address', width:80,
align:'right', editable: true,search:false }
],
pager: '#pager',
jsonReader : {
root:"address",
page: "page",
total: "total",
records: "records",
repeatitems: false
},
rowNum:10,
rowList:[10,20,30],
sortname: 'name',
sortorder: 'desc',
viewrecords: true,
gridview: true,
autowidth: true,
toppager: true,
loadtext: "Loading records.....",
caption: 'Test Grid',
gridComplete: function(){
}
});
**grid**.jqGrid('navGrid','#pager',
{view:true,edit:true,add:true,del:true,refresh:true,
refreshtext:'Refresh',addtext:'Add',
edittext:'Edit',cloneToTop:true,
edittitle: "Edit selected row"},
{},{},{},
{caption: "Search The Grid",Find: "Find Value",Reset: "Reset"},
{});
[更新]:我无法使searchrules在单一/高级搜索模式下正常工作
[更新]:即使在
不适用于searchrules。所述问题的原因是jqGrid中的一个错误
ret=$.jgrid.checkValues(val,-1,null,colmodeleItem.searchrules,colmodeleItem.label);
将$.jgrid.checkValues
的第三个参数初始化为null
,但checkValues
的上一个版本的实现已启动(请参阅)
var cm=g.p.colModel;
但是g
被初始化为null
。这是产生错误的基础,但我没有写代码的一部分
人们可以用不同的方法解决这个问题。我建议将使用null
参数调用$.jgrid.checkValues
的行修改为
ret=$.jgrid.checkValues(val,-1,{p:{colModel:p.columns}},colModelItem.searchrules,colModelItem.label);
此外,可以肯定的是,我建议修改
if(!nm){nm=g.p.colNames[valref];}
到
如果(!nm){nm=g.p.colNames!=null?g.p.colNames[valref]:cm.label;}
可以获得的
jquery.jqGrid.src.js的固定版本。稍后,我将在ti trirand发布我的bug报告,并给出相同的建议 你应该把你的代码贴在问题上,有什么帮助吗?我无法使searchrules在单一/高级搜索模式下正常工作。感谢您的帮助。谢谢也许这会对你有所帮助。谢谢懒鬼,我已经试过了。在上面的链接中,我们必须建立自己的自定义验证。但我只是想知道为什么searchrules的默认行为不起作用。甚至中的“搜索中的验证”也不起作用。这是一个报告的bug吗?@Faz:我觉得这是jqGrid中的bug。我稍后会给你发我的答案(现在我很忙:-()谢谢Oleg。有可能得到js文件的缩小版本吗?我试图在线转换它,但没有成功。@Faz:不客气!你可以使用例如:AjaxMinifier.exe-enc:in utf-8-clobber:true jquery.jqGrid.src.js-o jquery.jqGrid.min.js