在输入框输入信息后,根据输入的信息自动查询结果集
首先在字段增加validType
<td><input id="memberCard" name="memberCard" class="easyui-textbox" data-options="buttonIcon:'icon-search'" validType="isMemberCard"></td>
然后再js页面加上
//添加校验规则
$.extend($.fn.validatebox.defaults.rules, {
isMemberCard:{
validator:function(value,params){
var url=ctx+"/mrmf/member/memberfile/oneByRechargeList.do";
return validIsExits(url,value,this,"memberCard");
},
message:'会员卡不存在'
}
}
这个是方法可以把它抽出来,是公共的
/**
* target 指当前input框
*queryField 用于查询的默认字段
*/
function validIsExits(url,value,target,queryField){
//console.log("===value, ",value,"====target: ",target," ==:queryField: ",queryField);
var currField=$(target).closest('td[field]').attr('field');
var currTable;
var textbox;
//第一个用于table,第二个用于datagrid
if(null==currField){
currField= $(target).closest('td').find('input:first').attr('id');
currTable= $(target).closest('form').attr('id')
//console.log("==validIsExits==currField: ",currField," ===currTable",currTable," $(#currField): 11 ",$("#"+currField));
textbox=$("#"+currField)
}else{
textbox=$(target).closest('span').prev('input');
currTable=$(target).closest('.datagrid-view2').next('table').attr('id');
}
value=$.trim(value);
if(null==value||value==''){
//console.log("===value is null ")
//$(textbox).textbox('disableValidation');
$(textbox).textbox('setValue','');
//处理校验结果,currField 当前input的字段名,currTable对应的表名
handleValidResult(null,currField,currTable);
$(textbox).textbox('enableValidation');
return true;
}
//input 输入值没改变时
var isValid=true;
var validatebox=$(textbox).next('span').find(".validatebox-invalid");
if(null != validatebox && validatebox.length !=0){
isValid =false;
}
var valueIsChange=$(textbox).data('valueIsChange');
if(null != valueIsChange && valueIsChange==false){
return isValid;
}
var data={};
setValidQueryParams(data,value,queryField); //设置查询参数
var urlArr=url.split("?");
url=urlArr[0];
if(null !=urlArr[1]){ //实现通过url传参
var queryArr=urlArr[1].split("&");
for(var i=0;i<queryArr.length;i++){
var temp=queryArr[i].split("=");
data[temp[0]]=temp[1];
}
}
$.messager.progress({title:'提示',text:'数据正在校验中,请耐心等待...'});
var flag=true;
$.ajax({
url:url,
data:data,
async:false,
success:function(data){
$.messager.progress('close');
// console.log("=validIsExits=data",data," data.rows: ",data.rows," is empty: ",jQuery.isEmptyObject(data));
if(''==data||jQuery.isEmptyObject(data)){
handleValidResult(null,currField,currTable);
flag=false;
}else{
if("undefined" != typeof data.rows){
if(''==data.rows||data.rows.length==0){
flag=false;
return flag;
}
//data=data.rows;
}
$(textbox).textbox('disableValidation');
//处理校验结果,currField 当前input的字段名,currTable对应的表名
handleValidResult(data,currField,currTable);
}
return flag;
}
})
setValidQueryParams=function(data,value,queryField){
data[queryField]=value;
}
return flag;
}