0

have two textboxes defined like so, which are inside a repeater:

<asp:TextBox ID="txtHours" runat="server" CssClass="text misch"   Width="50px" Text='<%# Eval("laborHours") %>'/>
<asp:TextBox ID="txtCosts" runat="server" CssClass="text misc"   Width="50px" Text='<%# Eval("totalCosts") %>'/>

i also have two boxes where i want to put totals:

<asp:TextBox ID="txtMiscH" runat="server" CssClass="text hours" Width="200px" />
<asp:TextBox ID="txtMisc" runat="server" CssClass="text add" Width="200px" />

when the value in the repeater changes, i want to add them up and put in the appropriate total boxes.

this is where i am now:

//add up miscaleneous mnumbers
    //dollar amoungs
    $("input[class~='misc']").change(function (event) {
        var sum = 0;
        var num = 0;
        $("input[class~='misc']").each(function (event) {
            num = parseInt($(this).val()) || 0;
            sum = sum + num;
        });
        $("input[id*='txtMisc']").val(sum);
        $("input[class~='add']").trigger('change');
    });

    //hours
    $("input[class~='misch']").change(function (event) {
        var sum = 0;
        var num = 0;
        $("input[class~='misch']").each(function (event) {
            num = parseInt($(this).val()) || 0;
            sum = sum + num;
        });
        $("input[id*='txtMiscH']").val(sum);
    });

but it does not look like the first option works at all.

also i saw that there are different ways to select input

input[class~ or input[class* or input[class^

am i using the wrong one?

i guess because misc is also part of misch, it does the calculations for hours, even when i only update the misc costs box. please hep. would renaming class type be the easiest way to fix this?

http://jsfiddle.net/SKYDr/

4

1 に答える 1