我正在使用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?
答案 0 :(得分: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");
});
});
接下来,无论您使用哪两种方法,都需要将该数据存储在对话框中。
$("#dialog-form").dialog("open").data("opener",this.id);
现在您可以使用
访问它$("#dialog-form").data("opener")
答案 1 :(得分:0)
或您可以使用 on 或 bind 或点击事件,例如:
$(#nameButton).bind('click', function(event){});
$(#nameButton).on('click', function(event){});
$(#nameButton).click(function(event){});
在事件参数上获取您需要的所有信息......