0

私は struts2-jquery を使用しており、確認目的で何かを削除するためのモーダル ダイアログ ボックスを作成しようとしています。ID を渡す方法や、「OK」をクリックしてアクションを完了する方法がわかりません。

以下は、struts2-jquery に基づいてダイアログを作成するコードです。

<sj:dialog
    id="anchordialogconfirm"
    buttons="{
            'OK':function() {               
                //id of link is needed to c
                $(this).dialog('close');
            },
            'Cancel':function() {  $(this).dialog('close'); }
            }"
    resizable="false"
    autoOpen="false"
    modal="true"
    title="Remove?"
>
 Are you sure you want to remove it?
</sj:dialog>

<sj:a openDialog="anchordialogconfirm" id="71" cssClass="deleteemp">Delete</sj:a>

明らかに、 href='' をアンカーに入れると、ダイアログはモーダル確認ダイアログを取得するのではなく、そのリンクに開きます。

アンカーの ID を取得するにはどうすればよいですか? 削除するリンクのIDが必要です。または、少なくとも「OK」になるまでリンクが関与しないようにします。

4

1 に答える 1

1

ダイアログに送信されたデータを保持するために、補助変数を使用できます。

リンクには、次のようなものを入れます。

<sj:a openDialog="anchordialogconfirm" onclick="aux=%{#attr.obj.id};" href="#">Remove<sj:a>

そして、ダイアログでその値を待ちます:

<sj:dialog
            id="anchordialogconfirm"
            buttons="{
            'OK':function() {
            $('#main').load('yourUrl.action?id='+aux);
            $(this).dialog('close');
            },
            'Cancel':function() {  $(this).dialog('close'); }
            }"
            resizable="false"
            autoOpen="false"
            modal="true"
            title="Remove?"/>
于 2012-01-20T01:03:35.690 に答える