我正在使用delete
,cancel
和update
按钮进行内联编辑。当我尝试取消编辑时,其显示错误为Cannot read property 'replace' of undefined
。
我的代码中有什么错误?
function editCancel(id) {
var cancelId = $(this).attr('id');
$("#" + cancelId).hide();
var number = cancelId.replace("editCancel", "");
$("#update" + number).hide();
$("#edit" + number).show();
$("#delete" + number).show();
}
答案 0 :(得分:3)
问题区域是函数中的this
,它指的是 window 对象而不是调用该函数的按钮。
修改你的功能
function editCancel(elem) {
var cancelId = $(elem).attr('id');
//rest of code
}
将内容点击处理程序中的当前元素传递给
<button class="btn editCancel btn-danger" onclick="editCancel(this)"></button>
答案 1 :(得分:1)
使用事件委派将绑定事件绑定到动态添加的元素。
$(document).on('click', ".editCancelAction", function (){
//Your code.
var cancelId = $(this).attr('id');
$("#" + cancelId).hide();
var number = cancelId.replace("editCancel", "");
$("#update" + number).hide();
$("#edit" + number).show();
$("#delete" + number).show();
});