2014-06-14 90 views
0

我有一個每個都帶有按鈕投票的註釋列表。
當票發售者我調用這個函數:JQuery ajax在動態添加的表單上不起作用

$(".vote").on("click", function (e) {... 

但是,當我添加新評論到列表中我使用此功能添加:

$("#frmNewComment").on("submit", function(event) { 
      event.preventDefault(); 

      var url = $(this).attr("action"); 
      var formData = $(this).serialize(); 

      $.ajax({ 
       url: url, 
       type: "POST", 
       data: formData, 
       dataType: "html", 
       success: function (html) { 
        $(".comments-list").append(html); 
       } 
      }); 

     }); 

但它並不能使它AJAX請求當投票。
評論被引用到服務器,但沒有AJAX。
在這個過程中應該做些什麼?

+3

使用代表團'它將工作$(文件)。在(「CL ick「,」.vote「,function(){});'http://api.jquery.com/on/ – GillesC

+0

我猜'id''#frmNewCommment'正在被複制.. –

+0

@gillesc就是這樣:) – 1110

回答

0

更換

$("#frmNewComment").on("submit", function(event) { 

$("body").on("submit","#frmNewComment", function(event) { 

如果你改變表單元素與Ajax響應

使用相同的點擊事件

$("body").on("click",".vote", function (e) {... 
+0

'on'的參數是錯誤的方法,當點擊'.vote'時不會觸發。 – GillesC

+0

爲什麼不觸發...和爲什麼Downvote ... – Shail

+0

好吧,現在你已經添加了'.vote'部分,當第一次發佈時它不在那裏,但參數仍然是錯誤的。從jquery'on'文檔'.on(events [,selector] [,data],handler)'第一個參數是事件類型,第二個是選擇器而不是其他方式。 – GillesC