2013-07-23 61 views
0

我有一個帖子返回一個新頁面。該頁面有一個<a> link </a>,當頁面返回時,我呼叫$("a").button();。我已經在原始頁面上調用過,所以我的所有按鈕都已經格式化爲一個JQueryUI按鈕。但是,新的按鈕沒有格式化,直到我做另一個帖子。有沒有一種方法當再次調用時更新JQueryUI .button()?

$(".mapRelation") 
     .click(function(event) { 
     var closestRow = $(this).closest("tr"); 
     var nextRow = closestRow.next("tr"); 
     $(this).css("display", "none"); 
     if(nextRow.attr("id") != "map"){ 
      $.ajax({ 
       url: "AddTask.aspx/insertMappingRow", 
       type: "POST", 
       dataType: "json", 
       contentType: "application/json; charset=utf-8", 
       success: function (res) { 
        closestRow.after(res.d); 
        }, 
       error: function (res) { debugger; alert("error"); } 
       }); 
       $("#effect").height("+=25"); 
       $("#toggler").height("+=25"); 
     } 
     $(".submitMapping").button(); 

回答

1

我寫了這整個問題了,然後我的同事回答了這個問題對我來說,所以也許這會幫助別人......

$(".submitMapping").button();需要被放置在成功部分的AJAX調用。由於AJAX是異步的,.button()發生在您的新按鈕位於頁面之前。如果您在closestRow.after(res.d);之後放置$(".submitMapping").button();,它會在放置在頁面上時調用它。

+0

+1分享您的解決方案。 – Lopsided

相關問題