当我尝试在表格中保存新行时,jQuery有一点问题,当动作成功时,图像只是改变了,但这正是我的问题。
这是我的代码:
$(document).on('click','.clsBtnGuardarHost',function(){
var i = this.name.substring(14)
var host = $("#host"+i).val();
if(host.trim() != "") {
$.post("AccionesHost.html", { host:$("#host"+i).val(),
descripcion: $("#descripcion"+i).val(),
ip: $("#ip"+i).val(),
cuentasCant: $("#cuentasCant"+i).val(),
accion:"Agregar"
}, function(mensaje) {
if(mensaje.indexOf(" ") != -1) {
alert(mensaje)
return;
} else {
$("#indice"+i).val(mensaje);
$(this).attr( {'id':'btnModificarHost'+i, 'name':'btnModificarHost'+i,});
$(this).val("");
$(this).removeClass('clsBtnGuardarHost')
.addClass('btnModificarHost');
$("#host"+i).removeClass('NclsAnchoTotal')
.addClass('clsAnchoTotal');
$("#descripcion"+i).removeClass('NclsAnchoTotal')
.addClass('clsAnchoTotal');
$("#ip"+i).removeClass('NclsAnchoTotal')
.addClass('clsAnchoTotal');
$("#descripcion"+i).attr('readonly',true)
$("#ip"+i).attr('readonly',true)
$("#host"+i).attr('readonly',true);
$("#cuentasCant"+i).attr('readonly',true);
}
});
} else {
alert("Debe ingresar un host valido para continuar")
}
});
所以最后“else”中的代码有效,但它没有生效......我不知道为什么。
感谢您提前和抱歉我的英语不好。
答案 0 :(得分:2)
this
不再引用点击的元素。设置一个上下文变量并在AJAX的回调函数中使用它:
$(document).on('click','.clsBtnGuardarHost',function(){
var that = $(this);
//AJAX
//callback
that.attr( {'id':'btnModificarHost'+i,
'name':'btnModificarHost'+i,
});
that.val("");