jquery validate 比较两个input输入框的值的大小

本小妞迷上赌 提交于 2019-11-27 05:46:07

好久没有写前台了,项目现在是这个需要,就用了jquery validate控件

html代码如下:

<th><label for="amountRangeStart">发生额</label></th>
<td>
<s:textfield name="search.amountRangeStart"  size="10" id="amountRangeStart" />--
<s:textfield name="search.amountRangeEnd" size="10" id="amountRangeEnd"/>
<span id="amountRangeCheckHf"></span>
</td>


jquery代码:



/**
* 数据校验
*/
$(function (){
jQuery.validator.addMethod("amountLimit", function(value, element) {  
var returnVal = false;  
var amountStart = $("#amountRangeStart").val();
var amountEnd = $("#amountRangeEnd").val();
if(parseFloat(amountEnd)>parseFloat(amountStart)){
returnVal = true;
}
return returnVal;   
},"结束金额必须大于开始金额");    
$("#cxtj_form").validate({
rules:{ 
'search.amountRangeStart':{ maxlength: 16,number:true}, 
'search.amountRangeEnd': { maxlength: 16,number:true,amountLimit:true }
}, 
messages:{
"search.amountRangeStart": {number:"请输入正确的金额"},
"search.amountRangeEnd":{number:"请输入正确的金额"}
}
}); 
});

这样写好像大体上能满足要求,但是我前面是自己写了函数,但是一直时灵时不灵,不知道哪儿出了问题:


$(function (){
$("#amountRangeStart").on("keyup",function(){
var valid = /^\d{0,}(\.\d+)?$/i.test(this.value),val = this.value;
if(!valid){
$("#tradeAmtCheckHf").text( "起始金额输入只能是数字" );
$( "#tradeAmtCheckHf" ).css({"color": "red"});
}else{
$("#tradeAmtCheckHf").text("");
}
});
$("#amountRangeEnd").on("keyup",function(){
var valid = /^\d{0,}(\.\d+)?$/i.test(this.value),val = this.value;
if(!valid){
$("#tradeAmtCheckHf").text( "起始金额输入只能是数字" );
$( "#tradeAmtCheckHf" ).css({"color": "red"});
}else{
$("#tradeAmtCheckHf").text("");
}
var tradeAmt_start = $("#amountRangeStart").val();
var tradeAmt_end = $("#amountRangeEnd").val();
if(tradeAmt_start>tradeAmt_end){
$("#tradeAmtCheckHf").text( "结束金额必须大于开始金额" );
$( "#tradeAmtCheckHf" ).css({"color": "red"});
}else{
$("#tradeAmtCheckHf").text("");
}
});
});



希望各位能人志士帮我解惑。。。。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!