0

我有一个多行的表,每行有 12 列(每月一列)。在每一行的末尾是一个“总计”字段。

每个输入字段都有一个系统名称,例如:

name="variable1_jan", name="variable1_feb"

等等

我想通过部分匹配来引用这些字段(即所有名称包括“variable1_”的字段,并在所有字段中求和,将结果总和放在总字段中,在 keyup 上(跨输入字段)。

表格行的截断示例:

<tr>
    <td>
        <input class="" title="jan" id="" name="r_inpatient_jan" value="" size="4" maxlength="4" />
    </td>
    <td>
        <input class="" title="feb" id="" name="r_inpatient_feb" value="" size="4" maxlength="4" />
    </td>
    <td>
        <input class="" title="tot" id="" name="r_inpatient_tot" value="" size="4" maxlength="4" />
    </td>
</tr>

我的目标:jQuery 将查找名称包含(在本例中)“r_inpatient”的所有输入字段并将它们求和,然后将该值放在“r_inpatient_tot”中。这在 jQuery 中可能吗?

4

2 回答 2

1

演示

$("input[name^=r_inpatient]").keyup(function () {
    var sum = 0;
    $("input[name^=r_inpatient]").not("input[name=r_inpatient_tot]").each(function () {
        sum += (parseInt(this.value) ? parseInt(this.value) : 0);
    });
    $("input[name=r_inpatient_tot]").val(sum);
});

参考

属性以选择器开始

。不是()

.keyup()

于 2013-09-19T01:41:25.140 回答
1

当然,这应该有效:

$("input[name^=r_inpatient]").keyup(function() {
    var sum = 0;
    $("input[name^=r_inpatient]").not("input[name=r_inpatient_tot]").each(function() {
        var number = parseInt(this.value) || 0;
        sum += number
    });
    $("input[name=r_inpatient_tot]").val(sum);
});

演示:http: //jsfiddle.net/x2BE3/

于 2013-09-19T01:42:18.630 回答