0

我有一个包含多个动态创建按钮的页面。我需要能够在单击时获取按钮 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>
4

4 回答 4

0

. 您正在使用的按钮功能不是用于此目的,因此请将其删除并简单地尝试一下

$(".create-user" ).click(function() {
alert(this.id);
});
于 2013-05-24T14:15:05.823 回答
0

使用以下代码:

$(".create-user").click(function() {
    var photoID = this.id;
    $("#dialog-form").dialog("open");
});
于 2013-05-24T14:15:34.250 回答
0

如果您的按钮是在页面之后创建的并且您的javascript被加载,那么您需要使用该.live()功能:

$( ".create-user" ).live('click', function() {
    var photoID= $(this).attr('id');
    $( "#dialog-form" ).dialog( "open" );
});
于 2013-05-24T14:16:34.580 回答
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" );
});
于 2013-05-24T14:26:01.100 回答