2016-07-26 7 views
-2

なぜajax成功コールバックで '.html()'が機能しないのか分かりません。意図は内容を置き換えることです。クラスが要素に追加されているが、それの内容が空白になっている:jQuery .htmlがテーブルセルで動作していません

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

私は(私は.removeClassを削除しようとしました、何も衝突されていないことを確認するためのページから他のすべてのスクリプトを削除しました)と、 .addClass()はまだ動作していません。それを見て2時間を過ごした後、私はこれが何か単純なことに終わると確信していますが、どんな助けでも大歓迎です。

$(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

関連する問題