0

ボタンのクリックでポップアップウィンドウを開くためにjqueryダイアログを使用しています。

    <script>
        $(document).ready(function(){
            $("#dialog-form").dialog({
                autoOpen : false,
                height : 300,
                width : 350,
                modal : true,
                buttons : {
                    "Add" : function() {

                        $(this).dialog("close");
                    },
                    Cancel : function() {
                        $(this).dialog("close");
                    }
                },
                close : function() {
                    //if button1 is clicked 
                    alert("hello");
                   //if button2 is clicked
                   alert("bye");
                }
            });

        });
        function openWindow(){
            $("#dialog-form").dialog("open");
            }

    </script>
<button id="nameButton" onclick="openWindow()">click</button>
<button id="titleButton" onclick="openWindow()">click</button>

jqueryダイアログのcloseメソッドでボタンのIDを取得する方法は?

4

2 に答える 2

1

onclick属性を使用する場合は、イベントをトリガーした要素にアクセスできるように、関数に情報を渡す必要があります。

<button id="nameButton" onclick="openWindow(this)">click</button>
<button id="titleButton" onclick="openWindow(this)">click</button>

function openWindow(button){
    alert(button.id);
    $("#dialog-form").dialog("open");
}

ただし、代わりにボタンにクラスを与え、jQueryでイベントをバインドした方が「良い」でしょう。

<button class="open-window" id="nameButton">click</button>
<button class="open-window" id="titleButton">click</button>

$(document).ready(function(){
    //... your existing code ...
    $(".open-window").click(function(){
        alert(this.id)
        $("#dialog-form").dialog("open");
    });
});

次に、使用した2つの方法に関係なく、そのデータをダイアログに保存する必要があります。

$("#dialog-form").dialog("open").data("opener",this.id);

今、あなたはそれにアクセスすることができます

$("#dialog-form").data("opener")
于 2013-03-18T20:24:22.897 に答える
0

または、次のようなonまたはbindまたはclickイベントを使用できます。

$(#nameButton).bind('click', function(event){});
$(#nameButton).on('click', function(event){});
$(#nameButton).click(function(event){});

イベントパラメータについて、必要なすべての情報を取得します。

于 2013-03-18T20:28:25.577 に答える