2012-04-20 53 views
4

我的项目中有搜索字段,它使用$.post来获取搜索查询的结果。 我的问题:当用户点击搜索按钮时,它能正常工作,但是当用户再次点击搜索按钮,然后点击我的thead列时,jquery分类器将与之前的表中的搜索显示重复。我的表格使用Jquery Table Sorter获取重复的行

我该如何解决这个问题,以便我的分拣机功能不重复?

这是用于搜索按钮点击的Jquery代码。

 $(function() { 
      $('#submitfloat').click(function() { 
       $('#loading').show(); 
       setTimeout(function() { $("#loading").hide(); }, 800); 
       var SubjectTypes = $('#SubjectTypes').val(); 
       var Teams = $('#Teams').val(); 
       var Companies = $('#Companies').val(); 
       var Consultants = $('#Consultants').val(); 
       var PlannedDates = $('#PlannedDates').val(); 
       var CompletedDates = $('#CompletedDates').val(); 
       var DateTypes = $('#DateTypes').val(); 
       var data = { 
        Subjectypes: SubjectTypes, 
        Companies: Companies, 
        Teams: Teams, 
        Consultants: Consultants, 
        PlannedDates: PlannedDates, 
        CompletedDates: CompletedDates, 
        DateTypes: DateTypes 
       }; 

       var fromDate = $('#PlannedDates').val(); 
       var endDate = $('#CompletedDates').val(); 
       if (Date.parse(fromDate) > Date.parse(endDate)) { 
        jAlert("End date must be later than start date", "Warning"); 
        return false; 
       } else { 
        $('#GoalcardSearchResult tbody').hide(); 
        setTimeout(function() { $("#GoalcardSearchResult tbody").show(); }, 800); 
        $.post('@Url.Action("Search", "SearchNKI")', data, function (result) { 

         $("#GoalcardSearchResult tbody").empty(); 


         result.forEach(function (goalcard) { 

          $("#GoalcardSearchResult tbody").append(
           $('<tr/>', { 
            click: function() { 
             id = goalcard.Id; 
             var url = '@Url.Action("AnswerForm", "AnswerNKI", new { id = "__id__"})'; 
             window.location.href = url.replace('__id__', id); 


            }, 

            html: "<td>" + goalcard.Name + "</td><td>" + goalcard.Customer + "</td><td>" + goalcard.PlannedDate + "</td><td>" + goalcard.CompletedDate + "</td>" 
           })); 
         }); 
         $("#GoalcardSearchResult").tablesorter(); 
        }); 
        return false; 
       } 
      }); 
     }); 

您的帮助表示感谢,提前致谢!

回答

5

我猜测用户点击排序按钮之前,tablesorter已经被初始化。在这种情况下,将这段代码:

$("#GoalcardSearchResult").tablesorter(); 

与此:

$("#GoalcardSearchResult").trigger('update'); 
相关问题