2009-10-23 2 views
0

Я пытаюсь удалить строку данных с помощью JSON, однако, когда я подскажу подтвердить диалоговые мой яваскрипт функции не работают следующим образом:JSON Удалить строку таблицы

<script type="text/javascript"> 
    $().ready(function() { 
     $("a.delete").click(function() { 
     $.ajax({ 
      type: "POST", contentType: "application/json; charset=utf-8", url: this.href, data: "{}", dataType: "json", 
      success: function(msg) { 
      if (msg.status == "ok") { 
       $("tr#" + msg.id).hide(); 
      } 
      else { 
       alert(msg.exception); 
      } 
      } 
     }); 

     return false; 
     }); 
    }); 
</script> 

Вышеуказанных работы абсолютно нормальны, но в ту же минуту я поставил следующее:

<script type="text/javascript"> 
    $().ready(function() { 
     $("a.delete").click(function() { 
     if (!confirm("Are you sure you want to delete this?")) return false; 
     $.ajax({ 
      type: "POST", contentType: "application/json; charset=utf-8", url: this.href, data: "{}", dataType: "json", 
      success: function(msg) { 
      if (msg.status == "ok") { 
       $("tr#" + msg.id).hide(); 
      } 
      else { 
       alert(msg.exception); 
      } 
      } 
     }); 

     return false; 
     }); 
    }); 
    </script> 

Это делает выполнить удаление, но он не скрывает строку таблицы, которая заставляет меня думать, что он не был удален. Есть идеи?

+0

Включите перерыв на все ошибки в Firebug, и посмотреть, если вы получаете какие-либо ошибки. – SLaks

+0

Вы могли бы поместить TR (html), чтобы увидеть, как они формируются. И что запрос возвращает json Ajax –

+0

Но он работает в первом примере, поэтому последний не должен влиять на него. – Kezzer

ответ

1

Попробуйте это:

<script type="text/javascript"> 
    $().ready(function() { 
     $("a.delete").click(function() { 
     if (confirm("Are you sure you want to delete this?")){ 
      $.ajax({ 
      type: "POST", contentType: "application/json; charset=utf-8", url: this.href, data: "{}", dataType: "json", 
      success: function(msg) { 
       if (msg.status == "ok") { 
       $("tr#" + msg.id).hide(); 
       } 
       else { 
       alert(msg.exception); 
       } 
      } 
      }); 
     } 

     return false; 
     }); 
    }); 
    </script> 

надеюсь, что он работает для вас ...

Смежные вопросы