部分ビューに存在するこのコード行があります。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 は変わりません。
どうすればこれを行うことができますか?