whitman6732
whitman6732

Reputation: 465

sum all input elements in jquery

Trying to figure out how to write a jquery formula that will sum all input fields that begin with "pull" on keyup... I'm trying the code below, but nothing happens... No errors, and no updates either.... (the html is at the very bottom)

$(document).ready(function(){
    /* sums pull total input fields */
    $("input[name^='pull']").bind("keyup", "calcPullTotal");
    calcPullTotal();
});


function calcPullTotal() {
    $("[id=totalpull]").calc(
        "pullnum + 0", { pullnum: $("input[name^=pull]") },
        function (s){
            return s.toFixed(0);
        },
        function ($this) {
            var sum = $this.sum();
                $("#totalpull").text(
                sum.toFixed(0)
            );
        }
    );  
}
<table id="convert">
<tbody>
<tr><td><input type="text" value="" name="pull0" /></td></tr>
<tr><td><input type="text" value="" name="pull1" /></td></tr>
<tr><td><input type="text" value="" name="pull2" /></td></tr>
<tr><td><input type="text" value="" name="pull3" /></td></tr>
</tbody>

<tfoot><tr><td><input type="text" id="totalpull" name="totalpull" value="" /></td></tr></tfoot>
</table>

Upvotes: 4

Views: 4874

Answers (1)

karim79
karim79

Reputation: 342625

Try:

$("input[name^='pull']").bind("keyup", calcPullTotal);
calcPullTotal();

You were passing the string "calcPullTotal" as the second argument to bind, which expects a function.

Upvotes: 2

Related Questions