jquery验证:多个输入值之和

jquery验证:多个输入值之和,jquery,jquery-validate,Jquery,Jquery Validate,我需要帮助创建自定义方法来验证多个文本输入值的总和 在表单中,我有可变数量的文本输入,提交时,我需要验证同一组中输入值的总和是否正好为100 示例(第二组不应验证): 或者以插件的形式 $.fn.validateValuesSum=function(value){ var sumOfValues=0; this.each(function(){ sumOfValues+=$(this).val(); }); if(sumOfValues==value){

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

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

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


或者以插件的形式

$.fn.validateValuesSum=function(value){
   var sumOfValues=0;
   this.each(function(){
     sumOfValues+=$(this).val();
   });
   if(sumOfValues==value){
      return true;
   }
   return false;
}

我是这样工作的:

自定义验证规则:

$.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}")
);
然后像这样使用:

$(".group1").rules('add', {sum: 100});
$(".group2").rules('add', {sum: 100});

val()。使用
parseFloat($(this.val())
Number($(this.val())
获取数值(或
NaN
,您可以检查无效值)。有没有办法在jquery验证插件中实现它?Hi@Vertigo,我的工作方式与此类似,但在添加$(“.group1”)。规则('add',{sum:100});在sumOfVals==params的最后一次if验证中,如果操作为true,则缺少括号
$.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}")
);
$(".group1").rules('add', {sum: 100});
$(".group2").rules('add', {sum: 100});