У меня есть небольшая проблема с 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" работает, но он не вступает в силу... Не знаю, почему.
Спасибо за заранее и извините за мой плохой английский.
this
больше не относится к элементу с щелчком. Задайте переменную контекста и используйте ее в обратном вызове из AJAX:
$(document).on('click','.clsBtnGuardarHost',function(){
var that = $(this);
//AJAX
//callback
that.attr( {'id':'btnModificarHost'+i,
'name':'btnModificarHost'+i,
});
that.val("");