私のかみそりのビューでは、アンカーでテーブルを取得しています。以下に示すセルの1つ:JQuery - アンカーリンクにモーダルダイアログを表示する必要があります。ページをクリックしてください。
ユーザーがいずれかのアンカーをクリックすると、私はモーダルダイアログを表示する必要があります。どうすればこれを達成できますか?
私のかみそりのビューでは、アンカーでテーブルを取得しています。以下に示すセルの1つ:JQuery - アンカーリンクにモーダルダイアログを表示する必要があります。ページをクリックしてください。
ユーザーがいずれかのアンカーをクリックすると、私はモーダルダイアログを表示する必要があります。どうすればこれを達成できますか?
ので、: - あなたが望んでいない可能性がどのようなすべてのアンカーは、ページ上でクリックしたため
$('a').click(function(e) {
alert('anchor clicked');
});
あなたはそのアラートを取得したいです。
$('a.myclass').click(function(e) {
alert('anchor clicked');
});
をして、あなたはそのクラスであっただけで、アンカーのアラートを取得したい:あなたはそれらのアンカークラスを割り当てた場合、あなたはこれを行うことができます。モーダルダイアログボックスでは、アラートを取得した場所を代わりに使用して、モーダルダイアログとして使用するためにページに隠しdivを作成することができます。私はこのようなことをして、それは何かのように見えた:
$('a.myclass).click(function() {
// add the div or reuse it
var modaldialog = ($('#ModalDialog').length > 0)
? $('#ModalDialog')
: $('<div id="ModalDialog" style="display:hidden"></div>').appendTo('body');
load up data via ajax call
$.get('@Url.Action("MyAction", "MyController")', {},
function (responseText, textStatus, XMLHttpRequest) {
modaldialog.html(responseText);
modaldialog.dialog({
modal: true,
width: 500,
title: 'My Modal Dialog',
});
}
);
});
とにかく、それはスタートです。あなたはダイアログにボタンを追加することもできますし、それらはあなたの特定のニーズが何であれに基づいて行います。
アンカーにid(jQueryのパフォーマンス)を与え、インスタンスをAjax経由でモーダルダイアログを取得した後、falseを返すクリックイベントをバインドすることができます(JavaScriptが無効の場合、ダイアログを表示する必要があります)あなたはこのような何かをした場合)
返信ありがとうございますが、アンカータグがリストから作成されるため、アンカータグの作成を制御することはできません。それで、$( '。scheduleTable table tr a')を適用したのですが、live( 'click' ... .... – StartingFromScratch
本当に私のコードで修正した事柄の事実です。適切にそれで私はready()イベントに "any a in table.tr"を付けます2.強く型付けされたビューでは、本体の最後にdialog()関数を呼び出していますので、ダイアログショー時、div全体レンダリングの準備が整いました。 – StartingFromScratch