我正在处理用户输入总数的表单,然后将更多值输入到表示该总计的分割的其他字段中。例如:
<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验证方法,但这似乎只能处理单个字段而不是一个集合。
有没有办法
答案 0 :(得分:1)
使用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();
});
答案 1 :(得分:0)
@Krishnan:
$( '总')。
是一个类选择器,不是吗?如果要查找具有name属性的元素,则必须按如下方式编写:
$("[name='total']").val();
$("[name='portion["+i+"]']").val();
如果您知道只有一个带有该名称的输入字段,您可以使用
$("input[name='total']").val();
答案 2 :(得分:0)
This question看起来有一些答案可以解决这个问题。