2011-10-07 1 views

答えて

1

ので、: - あなたが望んでいない可能性がどのようなすべてのアンカーは、ページ上でクリックしたため

$('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', 
     }); 
     } 
    ); 
}); 

とにかく、それはスタートです。あなたはダイアログにボタンを追加することもできますし、それらはあなたの特定のニーズが何であれに基づいて行います。

+0

本当に私のコードで修正した事柄の事実です。適切にそれで私はready()イベントに "any a in table.tr"を付けます2.強く型付けされたビューでは、本体の最後にdialog()関数を呼び出していますので、ダイアログショー時、div全体レンダリングの準備が整いました。 – StartingFromScratch

0

アンカーにid(jQueryのパフォーマンス)を与え、インスタンスをAjax経由でモーダルダイアログを取得した後、falseを返すクリックイベントをバインドすることができます(JavaScriptが無効の場合、ダイアログを表示する必要があります)あなたはこのような何かをした場合)

+0

返信ありがとうございますが、アンカータグがリストから作成されるため、アンカータグの作成を制御することはできません。それで、$( '。scheduleTable table tr a')を適用したのですが、live( 'click' ... .... – StartingFromScratch

関連する問題