2016-07-26 64 views
-2

我不能解决为什么在ajax成功回调'.html()'不起作用。目的是要取代''内容。这些类被添加到元素,但它的内容都是空白:jQuery .html不能在表格单元格上工作

<td class="book-class centre cancelled"></td> 

我已经删除从页面的所有其他脚本以确保没有任何冲突,我试图消除.removeClass()和.addClass(),但它仍然不起作用。花了两个小时盯着它后,我相信这将最终变得简单,但任何帮助将不胜感激。

$(document).ready(function() { 

    // Cancel Class 
    $(document).on('click', '.cancel-class', function(e) { 

     e.preventDefault(); 

     var cell = this; 
     var row = $(this).parent(); 
     var id = $(row).data('booking-id'); 

     $(this).html('<img src="assets/images/spinner.gif" class="spinner" data-booking-id="'+id+'">'); 

     $.ajax({ 
     type: "POST", 
     url: "controllers/cancelClass.ctrl.php", 
     dataType: 'json', 
     cache: false, 
     data: {"id": id}, 

     success: function() { 

      // NOT WORKING 
      $(cell).removeClass().addClass('book-class centre cancelled').html('<i class="fa fa-times-circle></i> Cancelled'); 
     }, 

     error: function(data) { 
      console.log(data); 
     } 
     }); 

    }); 

}); 

回答

3

也许这只是一个错字,但如果不是这肯定会成为问题。在以下行中:

$(cell).removeClass().addClass('book-class centre cancelled').html('<i class="fa fa-times-circle></i> Cancelled'); 

您已经忘记了双引号。它应该是这样的:

$(cell).removeClass().addClass('book-class centre cancelled').html('<i class="fa fa-times-circle"></i> Cancelled'); 
+0

是的,这是它的感谢。这很尴尬...... – MKC

相关问题