Javascript jquery.validate:多个字段加起来就是值
我正在开发一个表单,用户输入一个总数,然后在其他字段中输入更多值,这些字段表示该总数的一部分。例如:Javascript jquery.validate:多个字段加起来就是值,javascript,jquery,jquery-plugins,validation,Javascript,Jquery,Jquery Plugins,Validation,我正在开发一个表单,用户输入一个总数,然后在其他字段中输入更多值,这些字段表示该总数的一部分。例如: <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]" /
<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,但这些是对它们唯一的其他限制
验证插件有一个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();
});
函数Mvalidate()
{
var total=$('[name=total]')。val();
var n=10;//部分的数量
var partialsum=0;
对于(var i=0;i@Krishnan:
根据
$('total')
是一个类选择器,不是吗?如果要查找具有name属性的元素,必须按以下方式编写:
$("[name='total']").val();
$("[name='portion["+i+"]']").val();
如果您知道只有一个具有该名称的输入字段,则可以使用
$("input[name='total']").val();
看起来它有一些解决这个问题的答案。我也在寻找同样的答案。我已经设置了类和ID,以便根据需要获取字段,但不要忘记val()只获取第一个匹配表单控件的值。要获取它们,您需要执行$('selector')。每个()使用某种回调来保持所有VAL的运行总数