参见英文答案 >
JQuery Validate: How do I add validation which checks the sum of multiple fields? 1个
我正在处理用户输入总数的表单,然后将更多值输入到表示该总计的分割的其他字段中.例如:
我正在处理用户输入总数的表单,然后将更多值输入到表示该总计的分割的其他字段中.例如:
<input type="text" name="total" /> <input type="text" name="portion[1]" /> <input type="text" name="portion[2]" /> <!-- and so on --> <input type="text" name="portion[n]" />
如果用户总共输入123.45,那么他们需要填写1-n部分,使得它们的值加起来为123.45.每个部分字段必须是正数或0,但这些是对它们的唯一其他限制.
jquery.validate插件有一个equalTo验证方法,但这似乎只能处理单个字段而不是一个集合.
有办法吗?
>定义验证规则,该规则将根据总字段验证字段组的总数
>如果没有加起来,则为该组字段显示单个消息
解决方法
使用jquery事件尝试此函数
function Mvalidate() { var total=$('[name=total]').val(); var n=10; // no of portions var partialsum=0; for(var i=0;i<n; i++) { var t=$("[name=portion["+i+"]]").val(); partialsum+=parseFloat(t); } if(partialsum<total) alert("Portions add up not complete!"); } $("#checkbutton").click(function() { Mvalidate(); });