[英]onclick event for button inside dynamic li tag is not defined
Am trying to call a button onClick event function, which is present inside the li tag, but the output is - ReferenceError: function name (deleteUser) is not defined ? 是否正在尝试调用li标签内的按钮onClick事件函数,但输出为-ReferenceError:未定义函数名(deleteUser)?
$(document).ready(function(){
var baseUrl = 'http://localhost:9000/';
$('#btnUserList').click(function(){
$.post(baseUrl+'listUsers',function(data){
$(".listUl").empty();
for(var i in data){
$("#userRecord ul").append('<li><input type="text" size="8" value='+i+'>'+
'<input type="text" size="8" value='+data[i].firstName+'>'+
'<input type="text" size="8" value='+data[i].lastName+'>'+
'<input type="text" size="8" value='+data[i].username+'>'+
'<input type="text" size="8" value='+data[i].email+'>'+
'<input type="button" value="Delete" onClick="deleteUser('+data[i].username+')"></li>');
}
});
});
function deleteUser(username){
alert(name);
$.post(baseUrl+'deleteUser',username,function(result){
if(result == 'yes'){
$('#btnUserList').trigger("click");
alert('User Deleted');
}
});
}
});
The function deleteUser
is defined inside the document.ready
handler, which means it's not in the global scope. 函数
deleteUser
是在document.ready
处理程序内定义的,这意味着它不在全局范围内。 You have to define it outside the document.ready
handler 您必须在
document.ready
处理程序之外定义它
$(document).ready(function() {
var baseUrl = 'http://localhost:9000/';
$('#btnUserList').click(function() {
$.post(baseUrl + 'listUsers', function(data) {
$(".listUl").empty();
for (var i in data) {
$("#userRecord ul").append('<li><input type="text" size="8" value=' + i + '>' +
'<input type="text" size="8" value=' + data[i].firstName + '>' +
'<input type="text" size="8" value=' + data[i].lastName + '>' +
'<input type="text" size="8" value=' + data[i].username + '>' +
'<input type="text" size="8" value=' + data[i].email + '>' +
'<input type="button" value="Delete" onClick="deleteUser(' + data[i].username + ')"></li>');
}
});
});
});
function deleteUser(username) {
alert(name);
$.post(baseUrl + 'deleteUser', username, function(result) {
if (result == 'yes') {
$('#btnUserList').trigger("click");
alert('User Deleted');
}
});
}
Or you could create the elements with jQuery instead 或者您可以使用jQuery创建元素
$(document).ready(function() {
var baseUrl = 'http://localhost:9000/';
$('#btnUserList').click(function() {
$.post(baseUrl + 'listUsers', function(data) {
$(".listUl").empty();
$.each(data, function(index, item) {
$("#userRecord ul").append(
$('<li />').append(
$('<input />', {text : 'text', size : '8', value : index}),
$('<input />', {text : 'text', size : '8', value : item.firstName}),
$('<input />', {text : 'text', size : '8', value : item.lastName}),
$('<input />', {text : 'text', size : '8', value : item.username}),
$('<input />', {text : 'text', size : '8', value : item.email}),
$('<input />', {
type : 'button',
value : 'Delete',
on : {
click : function() {
$.post(baseUrl + 'deleteUser', item.username, function(result) {
if (result == 'yes') {
$('#btnUserList').trigger("click");
alert('User Deleted');
}
});
}
}
})
)
)
});
});
});
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.