2016-01-06 64 views
0

我正嘗試使用jquery創建一個排序。它僅僅是第一次用戶點擊th標籤,但在ajax功能的POST請求之後,用戶不能再次點擊th標籤。這是我的代碼。 請幫忙,提前致謝。解除與JQUERY POST POST後的點擊

$("#sortHeader th").click(function() { 
    event.preventDefault(); 
    sortValue= $(this).attr("data-value"); 
    $(this).siblings('data-sort').attr('class', 'sorting'); 
    if($(this).hasClass('sorting')){ 
     $(this).attr('class', 'sorting_asc'); 
     sortOrder="asc"; 
    } 
    else if($(this).hasClass('sorting_asc')){ 
     $(this).attr('class','sorting_desc'); 
     sortOrder="desc";  
    } 
    else if($(this).hasClass('sorting_desc')){ 
     $(this).attr('class', 'sorting_asc'); 
     sortOrder="asc"; 
    } 
    var saved = $('#sortHeader').clone();//save state sort active column 
    sort(this, saved);// function to call data on Controller 
}); 

function sort(e,saved) { 
    $.ajax({ 
     url: '@Url.Action("Method","Controller")', 
     type: "POST", 
     cache: false, 
     data: { query: null, search: $('#QueryString').val(), sort: sortOrder, sort_value: sortValue, Id: $('#Id').val() }, 
     success: function (data) { 
      $("body").html(data); 
      //replace the headers with the old state 
      $('#sortHeader').replaceWith(saved); 
      $("#sortHeader th").unbind("click")// unbind click event 
     }, 
    }) 
};  
+0

嘗試'$(「#sortHeader th」)。unbind()' –

+0

我很困惑..是你無法在帖子後排序的問題,或者你可以排序嗎? – JamieD77

+0

問題是我無法排序後POST – UserEsp

回答

2

ajaxsuccess功能刪除線$("#sortHeader th").unbind("click"),你需要click事件委派爲您的內容是動態加載像以下。

$(document).on('click', '#sortHeader th', function() { 
    // do your task here 
}); 

希望這能解決您的問題。

+0

謝謝,這解決了我的問題 – UserEsp

+0

感謝@Azim您的更正,我在這裏是新的,其實我的主要語言是西班牙語,所以我真的很糟糕與英語語法。我會盡力改進它。 – UserEsp