首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jquery验证:多个输入值的总和

jquery验证:多个输入值的总和
EN

Stack Overflow用户
提问于 2010-11-19 20:46:57
回答 2查看 13.4K关注 0票数 14

我需要帮助创建自定义方法,以验证多个文本输入值的总和。

在表单中,我有可变数量的文本输入,在提交时,我需要验证同一组中输入值的总和是否恰好为100。

示例(第二组不应验证):

代码语言:javascript
复制
<input type='text' name='g1_number1' class='group1' value='20' />
<input type='text' name='g1_number2' class='group1' value='40' />
<input type='text' name='g1_number3' class='group1' value='40' />

<input type='text' name='g2_number1' class='group2' value='20' />
<input type='text' name='g2_number2' class='group2' value='40' />
<input type='text' name='g2_number3' class='group2' value='10' />
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-11-22 18:20:55

我让它这样工作:

自定义验证规则:

代码语言:javascript
复制
$.validator.addMethod(
    "sum",
    function (value, element, params) {
        var sumOfVals = 0;
        var parent = $(element).parent(".parentDiv");
        $(parent).find("input").each(function () {
            sumOfVals = sumOfVals + parseInt($(this).val(), 10);
        });
        if (sumOfVals == params) return true;
        return false;
    },
    jQuery.format("Sum must be {0}")
);

并像这样使用:

代码语言:javascript
复制
$(".group1").rules('add', {sum: 100});
$(".group2").rules('add', {sum: 100});
票数 18
EN

Stack Overflow用户

发布于 2010-11-19 21:12:41

代码语言:javascript
复制
var sumOfValues=0;
$(".group1").each(function(){
   sumOfValues+=$(this).val();
});
if(sumOfValues==100){

}else{

}

或以插件形式

代码语言:javascript
复制
$.fn.validateValuesSum=function(value){
   var sumOfValues=0;
   this.each(function(){
     sumOfValues+=$(this).val();
   });
   if(sumOfValues==value){
      return true;
   }
   return false;
}
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4225121

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档