0

部分ビューに存在するこのコード行があります。Jquery コードは、部分ビューをホストするインデックス ページに存在します。

        <div class="paythisamountbtn">@Html.ActionLink(T("Pay This Amount"), "InvoiceCheckout", null, new { @target = "InvoiceCheckout", @class = "amebtn" }): @String.Format("{0:C}", Model.TotalDue)</div>

データのすべての行にチェックボックスがあります。これはすべて webgrid 内にあります。これが下のように見えるものです

        @{
            var gridColumns = new List<WebGridColumn>();

            gridColumns.Add(grid.Column(format: (item) => 
                {
                    var s = "<input type=\"checkbox\" name=\"InvoiceNumber\" id=\"IN" +  item.InvoiceNumber.ToString() + "\" value=\"" + item.InvoiceNumber.ToString() + "|" + item.AmountDue + "\"";
                    if (item.IsSelected) {
                        s += "checked=\"true\"";
                    }
                    s+= "/>";
                    return s;
                }
                    , style: "box"));

        ...
        ...
        ...
        }

        function SetViewSelected(c) {   
                var s = 0;
                for (i = 0; i < $("input[name='InvoiceNumber']:checked").length; i++) {
                    invoice_details = $("input[name='InvoiceNumber']:checked")[i].value;
                    invoice_amount = invoice_details.split("|")[1];
                    s += parseFloat(invoice_amount);
                }
                alert(s);
                //$('.paythisamountbtn').val(s);
        }

チェックボックスをオンまたはオフにすると、下の行に合計が変化したときに合計を表示できるようになります。現時点では、アラートによって新しい合計が取得されます

        <div class="paythisamountbtn">@Html.ActionLink(T("Pay This Amount"), "InvoiceCheckout", null, new { @target = "InvoiceCheckout", @class = "amebtn" }): @String.Format("{0:C}", Model.TotalDue)</div>

$('.paythisamountbtn').val(s); をやってみました しかし、チェックボックスをオンまたはオフにしても、totaldue は変わりません。

どうすればこれを行うことができますか?

4

2 に答える 2

0

属性値を更新するには、次のことを行う必要があります。

   $('.paythisamountbtn').text(parseInt($('.paythisamountbtn').text())+5);

チェックボックスの 1 つをクリックするたびに値を更新するには、次のようにします。

$('#checkbox1').change(function() {
    if($(this).is(":checked")) {
        UpdateValueNow();
    }     
});
于 2013-10-29T13:25:16.560 に答える