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));
});
    

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...