изменение изображения с помощью jQuery

0

У меня есть небольшая проблема с 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" работает, но он не вступает в силу... Не знаю, почему.

Спасибо за заранее и извините за мой плохой английский.

Теги:

1 ответ

2
Лучший ответ

this больше не относится к элементу с щелчком. Задайте переменную контекста и используйте ее в обратном вызове из AJAX:

$(document).on('click','.clsBtnGuardarHost',function(){
    var that = $(this);
     //AJAX
    //callback
    that.attr( {'id':'btnModificarHost'+i,
                'name':'btnModificarHost'+i,
            });
    that.val("");
  • 0
    Тай бро! работает нормально

Ещё вопросы

Сообщество Overcoder
Наверх
Меню