記事詳細
- 投稿日
- 2026年09月21日19時15分
-
タイトル
-
ASP.NET Core MVC: Model“Payment”でIdはPaymentIdの行の中で「金額列(Amount)」が“0”の値の行がある場合に、SweetAlert2 のダイアログを表示して、ダイアログ内の<input id="swalAmount" type="number" class="form-control" placeholder="金額を入力">',に金額を入力して、データベーステーブルのその行の「金額列(Amount)」の値を変更、更新する、jqueryのコードを教えてください。 ASP.NET Core MVC: View
- 内容
-
なるほど、やりたいことはこうですね。
- Paymentテーブルの中で
Amountが0の行を検出 - SweetAlert2 で金額入力ダイアログを表示
- 入力された金額をサーバーに送信してデータベースを更新
- 更新後に画面をリフレッシュまたは反映
以下は jQuery + SweetAlert2 を使ったサンプルコードです。
(ASP.NET Core MVC 側では、/Payment/UpdateAmountのような POST アクションを用意しておく必要があります)例: jQueryコード(Index.cshtml内)
.payment-rowに<tr>や<div>にdata-payment-idとdata-amountを持たせておく @foreach (var item in Model) { <tr class="payment-row" data-amount="@item.Amount" data-payment-id="@item.PaymentId" > <td>@item.PaymentId</td> <td>@item.Posted.ToShortDateString()</td> <td>@(item.InOut ? "入金" : "出金")</td> <td>@item.SubjectNameNavigation?.CourseName</td> <td>@item.ItemName</td> <td>@item.PaymentName</td> <td>@item.PaymentTypeNavigation?.TypeName</td> <td>@item.PaymentMethodNavigation?.MethodName</td> <td>@item.IncomeCategoryNavigation?.CategoryName</td> <td>@item.IncomeTypeNavigation?.TypeName</td> <td class="text-center"> @item.Amount</td> <td class="text-center" style="color:gray;"> @String.Format(System.Globalization.CultureInfo.CurrentCulture, "{0:C}", @item.Balance) </td> <td> <a asp-action="Edit" asp-route-id="@item.PaymentId">編集</a> | <a asp-action="Details" asp-route-id="@item.PaymentId">詳細</a> | <a asp-action="Delete" asp-route-id="@item.PaymentId">削除</a> </td> </tr>ASP.NET Core MVC 側の例(Controller)
💡 ポイント
.payment-rowは<tr>や<div>にdata-payment-idとdata-amountを持たせておくと便利です。- SweetAlert2 の
preConfirmを使うことで、入力チェックを行ってから送信できます。 - 更新後は
location.reload()で画面を再読み込みするか、該当行だけ書き換えることも可能です。
もし希望があれば、このコードを 「最初の0円行だけ」ではなく「全ての0円行を順番に処理する」 形にもできますが、どうしますか?
そうすれば複数の未入力金額を一度に更新できます。Powered by Froala Editor
- Paymentテーブルの中で
-
添付画像
-
画像はありません
- Genreのカテゴリ-名
- Views