Javascript 如何获取调用jquery对话框的元素Id

Javascript 如何获取调用jquery对话框的元素Id,javascript,jquery,Javascript,Jquery,我使用jquery对话框打开按钮点击弹出窗口 <script> $(document).ready(function(){ $("#dialog-form").dialog({ autoOpen : false, height : 300, width : 350, modal : true,

我使用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>

$(文档).ready(函数(){
$(“#对话框窗体”).dialog({
自动打开:错误,
身高:300,
宽度:350,
莫代尔:是的,
按钮:{
“添加”:函数(){
$(此).dialog(“关闭”);
},
取消:函数(){
$(此).dialog(“关闭”);
}
},
关闭:函数(){
//如果单击按钮1
警惕(“你好”);
//如果单击按钮2
警惕(“再见”);
}
});
});
函数openWindow(){
$(“#对话框窗体”)。对话框(“打开”);
}
点击
点击

如何在jquery对话框的close方法中获取按钮的id?

如果要使用onclick属性,需要向函数传递一些信息,以便访问触发事件的元素

<button id="nameButton" onclick="openWindow(this)">click</button>
<button id="titleButton" onclick="openWindow(this)">click</button>
不过,如果您改为给按钮一个类并用jQuery绑定事件,那会“更好”

<button class="open-window" id="nameButton">click</button>
<button class="open-window" id="titleButton">click</button>
接下来,无论使用哪种方法,都需要将该数据存储在对话框中

$("#dialog-form").dialog("open").data("opener",this.id);
现在您可以使用

$("#dialog-form").data("opener")

或者您可以使用上的绑定或单击事件,如:

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

事件中参数可以获取所需的所有信息…

不要在元素上使用“onclick”属性。使用jquery绑定事件,您可以从事件对象获取信息。@ejzy您在说什么…?Kevin B回答的第二部分很好地说明了这一点。我希望id出现在jquery对话框的关闭函数中,而不是在openWindow中method@vjk将其放入click事件是第一步。下一步是将其存储在某个地方,例如在对话框的数据中。@ChenReuven他建议您更正语法“u”->“you”x3
$("#dialog-form").data("opener")
$(#nameButton).bind('click', function(event){});
$(#nameButton).on('click', function(event){});
$(#nameButton).click(function(event){});