我有一个包含多个动态创建按钮的页面。我需要能够在单击时获取按钮ID,并将其分配给变量以在对话框中使用。我尝试了几种不同的方法,包括尝试按下面的方式获取值。这些都不起作用,这样就不会停止提交对话框。任何帮助将不胜感激。
$( ".create-user" )
.button()
.click(function() {
var photoID=this.id;
$( "#dialog-form" ).dialog( "open" );
});
<button class="create-user" id="1">Create new user</button>
<button class="create-user" id="2">Create new user</button>
<button class="create-user" id="3">Create new user</button>
答案 0 :(得分:0)
。button函数不是为了这个目的所以删除它并简单地尝试这个
$(".create-user" ).click(function() {
alert(this.id);
});
答案 1 :(得分:0)
使用以下代码:
$(".create-user").click(function() {
var photoID = this.id;
$("#dialog-form").dialog("open");
});
答案 2 :(得分:0)
如果您的按钮是在页面之后创建的并且加载了javascript,那么您需要使用.live()
函数:
$( ".create-user" ).live('click', function() {
var photoID= $(this).attr('id');
$( "#dialog-form" ).dialog( "open" );
});
答案 3 :(得分:0)
似乎其他答案仅解决了对话框的打开问题,而不是如何在对话框本身中使用按钮的id变量。试试这个: 只需为要使用的对话框设置全局变量即可。看到这个小提琴:http://jsfiddle.net/95B2G/1/
var myid;
$( "#dialog-form" ).dialog({
autoOpen: false,
open: function( event, ui ) {
$('#here').html(myid);
}
});
$( ".create-user" )
.button()
.click(function() {
myid = $(this).attr('id');
$( "#dialog-form" ).dialog( "open" );
});