我有一个 jquery ui 模式对话框表单,可以将项目添加到表中。表列之一是我编辑相关行的链接。这是一个按钮对象,我想添加一个事件处理程序,当用户单击按钮时,它会运行 ajax 查询来拉回所选行 ID 的信息,并以表单显示该数据,以便用户编辑选定的行。
我试图让它使用相同的功能
$( ".edit-user" )
.button()
.click(function() {
//do something here
});
这里是使用编辑按钮创建动态行的代码。我试图将“click”事件处理程序附加到动态创建的按钮。
$( "#users tbody" ).append( "<tr>" +
"<td><button class=\"edit-user\" id=\"edit-user-15\">Edit</button></td>" +
"<td>" + mc_last_name.val() + "</td>" +
first_name +
"<td>" + mc_primary_address.val() + "</td>" +
"<td>" + mc_primary_city.val() + "</td>" +
"<td>" + mc_primary_state.val() + "</td>" +
"<td>" + mc_primary_zipcode.val() + "</td>" +
phone +
email_address +
"<td>" + mc_primary_addcommunity.val() + "</td>" +
"</tr>" );
$(".edit-user").on('click','button',function(){
var parameters = {
"cid":this.id.replace(/\D/g,"")
};
$.ajax({
url : "./getcontact.php",
type: "POST",
data : parameters,
success: function(data, textStatus, jqXHR)
{
var arr = data.split('|||');
$.each(arr,function(key,value) {
var temp = value.split(':::')
$("#" + temp[0]).val(temp[1]);
});
$( "#dialog-form" ).dialog( "open" );
},
error: function(jqXHR, textStatus, errorThrown)
{
alert(errorThrown);
}
});
});
我尝试了几种不同的选择:
$('#edit-user-15').on('click', 'button', function() {
//Run the display form function.
});
$('#edit-user-15').delegate('click', 'button', function() {
//Run the display form function.
});
我对 jquery 比较陌生......所以这些奇怪的错误很难解释我想要做什么。
正在寻找有关如何使桌面上的任意按钮使用特殊功能的想法?
谢谢 jlimted
最佳答案
使用这样的东西:
function appendButton(){
$( "#users tbody" ).append( "<tr>" +
"<td><button class=\"edit-user\" id=\"edit-user-15\">Edit</button></td>" +
"<td>" + mc_last_name.val() + "</td>" +
first_name +
"<td>" + mc_primary_address.val() + "</td>" +
"<td>" + mc_primary_city.val() + "</td>" +
"<td>" + mc_primary_state.val() + "</td>" +
"<td>" + mc_primary_zipcode.val() + "</td>" +
phone +
email_address +
"<td>" + mc_primary_addcommunity.val() + "</td>" +
"</tr>" );
}
并将.edit-user
类的处理程序预定义为
$(document).on("click",".edit-user",function(){
//Your On Click part here
});
这是工作 jsfiddle demo 。
关于javascript - 如何动态地将 jquery ui 事件处理程序添加到动态创建的按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23820655/