jQuery:如何从对应数组的值中减去数组中每个文本输入字段的数值?

| 我有两组这样的输入字段,按它们的类来区分:
<div>
<input type=\"text\" class=\"columnone\" />
<input type=\"text\" class=\"columnone\" />
<input type=\"text\" class=\"columnone\" />
</div>

<div>
<input type=\"text\" class=\"columntwo\" />
<input type=\"text\" class=\"columntwo\" />
<input type=\"text\" class=\"columntwo\" />
</div>
为了确保用户只能在这些字段中输入整数值,必须进行必要的验证。 如何从特定
.columntwo
文本字段中
change()
.columnone
的对应字段中的值减去
.columntwo
中每个输入字段的值?空值应视为零。 例如,在
columntwo
的第一个输入字段的
change()
上,从
.columntwo
的第一个字段中减去
.columntwo
的第一个输入字段的值。其他字段保持不变。 提前致谢!     
已邀请:
这有点令人费解,但是可以使用。这在您想双向触发函数的假设下起作用(columntwo和columnone)
$(\'.columnone, .columntwo\').change(function() {
    var $this = $(this);
    var sum = 0;
    var index = $this.index();

    if ($this.hasClass(\'columnone\')) {
        var val1 = parseInt($this.val(), 10);
        var val2 = parseInt($(\'.columntwo:eq(\' + index + \')\').val(), 10);
    } else {
        var val2 = parseInt($this.val(), 10);
        var val1 = parseInt($(\'.columnone:eq(\' + index + \')\').val(), 10);
    }

    val1 = (isNaN(val1)) ? 0 : val1;
    val2 = (isNaN(val2)) ? 0 : val2;

    sum = val2 - val1;
    //console.log(sum);
    alert(sum);
});
这是小提琴:http://jsfiddle.net/fJLAw/     
假设您在类columnone或columntwo中没有其他元素,则可以
$(\'input.columntwo\').change(function() {
    var $this = $(this);
    $this.val(parseInt($(\'input.columnone\').eq($this.index()).val(),10) - parseInt($this.val(),10));
});
    

要回复问题请先登录注册