[解決済み] jQuery UI ダイアログへのデータの渡し方
2023-07-12 17:06:19
質問
私は
ASP.Net MVC
サイトを開発していて、 データベースクエリから得た予約情報を
ActionLink
を使用して特定の行で予約をキャンセルするために、特定の
BookingId
のようにします。
マイブッキング
<table cellspacing="3">
<thead>
<tr style="font-weight: bold;">
<td>Date</td>
<td>Time</td>
<td>Seats</td>
<td></td>
<td></td>
</tr>
</thead>
<tr>
<td style="width: 120px;">2008-12-27</td>
<td style="width: 120px;">13:00 - 14:00</td>
<td style="width: 100px;">2</td>
<td style="width: 60px;"><a href="/Booking.aspx/Cancel/15">cancel</a></td>
<td style="width: 80px;"><a href="/Booking.aspx/Change/15">change</a></td>
</tr>
<tr>
<td style="width: 120px;">2008-12-27</td>
<td style="width: 120px;">15:00 - 16:00</td>
<td style="width: 100px;">3</td>
<td style="width: 60px;"><a href="/Booking.aspx/Cancel/10">cancel</a></td>
<td style="width: 80px;"><a href="/Booking.aspx/Change/10">change</a></td>
</tr>
</table>
何がいいかというと、このように
jQuery Dialog
を使用して、ユーザーが本当に予約をキャンセルしたいかどうかを尋ねるメッセージをポップアップ表示することです。私はこれを動作させようとしていますが、パラメータを受け取るjQuery関数を作成する方法で行き詰っています。
<a href="/Booking.aspx/Cancel/10">cancel</a>
で
<a href="#" onclick="ShowDialog(10)">cancel</a>
.
は
ShowDialog
関数はダイアログを開き、パラメータ 10 をダイアログに渡して、ユーザが「はい」をクリックしたら href を投稿するようにします。
/Booking.aspx/Change/10
このようなスクリプトでjQueryダイアログを作成しました。
$(function() {
$("#dialog").dialog({
autoOpen: false,
buttons: {
"Yes": function() {
alert("a Post to :/Booking.aspx/Cancel/10 would be so nice here instead of the alert");},
"No": function() {$(this).dialog("close");}
},
modal: true,
overlay: {
opacity: 0.5,
background: "black"
}
});
});
とダイアログそのものを表示します。
<div id="dialog" title="Cancel booking">Are you sure you want to cancel your booking?</div>
それでは最後に私の質問です。どうすればこれを達成できるでしょうか、それとももっと良い方法があるでしょうか?
どのように解決するのですか?
このようにすればよいでしょう。
-
をマークします。
<a>
をクラスでマークし、例えば "cancel"とします。 -
class="cancel"を持つすべての要素に作用して、ダイアログを設定します。
$('a.cancel').click(function() { var a = this; $('#myDialog').dialog({ buttons: { "Yes": function() { window.location = a.href; } } }); return false; });
(さらに他のオプションも)
ここで重要なのは
- できるだけ目立たないようにする。
- URLだけであれば、hrefで既に持っている。
しかし、キャンセルアクションには副作用があるため、これをGETではなくPOSTにすることをお勧めします。 はGETセマンティクスに準拠しないためです。 ...
関連
-
[解決済み] jQueryで要素が非表示になっているかどうかを確認するには?
-
[解決済み] jQueryでチェックボックスに "checked "を設定する
-
[解決済み] jQueryの「exists」関数はありますか?
-
[解決済み] どのラジオボタンが選択されているかをjQueryで知るにはどうしたらよいですか?
-
[解決済み] jQueryでページを更新するにはどうすればよいですか?
-
[解決済み] jQueryでテーブルの行を追加する
-
[解決済み] jQueryで要素にスクロールする
-
[解決済み] jQueryで入力を無効化/有効化する?
-
[解決済み】jQueryでチェックボックスがチェックされているかどうかを確認するにはどうすればよいですか?
-
[解決済み] jQueryの$という記号の意味は何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] <Enter>でjQuery UIダイアログを送信する
-
[解決済み] Javascriptによるタッチスクリーンデバイスの検出
-
[解決済み] なぜJavaScriptでは!{}[true]がtrueに評価されるのですか?
-
[解決済み] Chart.jsを使ってドーナツチャートの中にテキストを追加するには?
-
[解決済み] 文字列がhtmlであるかどうかをチェックする
-
[解決済み] Reactコンポーネントでthis.setStateを複数回使用するとどうなりますか?
-
[解決済み] $.ajax実行中にローディングイメージを表示する
-
[解決済み] Promise : then vs then + catch [重複].
-
[解決済み] CORS: 認証モードは 'include' です。
-
[解決済み] Fetch: ステータスがOKでない場合、プロミスを拒否し、エラーをキャッチするか?