easyUI之validType

在输入框输入信息后,根据输入的信息自动查询结果集
在这里插入图片描述
在这里插入图片描述
首先在字段增加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;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Easyui下拉框的使用是通过在input标签上添加class为"easyui-combobox"的属性来实现的。在引用中的前端代码中可以看到示例的input标签如下所示: ``` <input type="text" id="city_name" name="city_name" class="easyui-combobox" data-options="editable:true ,valueField: 'id',textField: 'text',url:'${pageContext.request.contextPath}/admin/main/getcity',prompt: '城市名称',validType:'length中的代码示例中,通过onSelect事件获取到选中的城市,并使用Ajax向服务端发送请求,获取该城市下的其他数据,并将数据展示在页面中的相应元素中。 综上所述,Easyui下拉框的使用是通过在input标签上添加class为"easyui-combobox"的属性,并通过data-options属性设置组件的配置选项来实现。在JavaScript代码中可以监听onSelect事件获取选择的值,并进行相应的操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Jquery Easyui自定义下拉框组件使用详解(21)](https://download.csdn.net/download/weixin_38506713/14805938)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [easyui下拉框选中触发事件](https://blog.csdn.net/qq_36746327/article/details/80111119)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值