2012-04-17 5 views
1

私のプロジェクトでMVC3を使用しています。テーブルにjqueryテーブルソーターの問題があり、jsonテキストの壁を受け取る

私は、DDL、検索ボタン、テーブルの束を持つビューを持っています。 ユーザーは値を選択してから検索ボタンを押すと、ヒットしたすべてのデータがテーブルに表示されます。

これは、検索ボタンをクリックするための私のjqueryのコードです:

$(function() { 
     $('#submitfloat').click(function() { 
      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 
      }; 

       $.post('@Url.Action("Search", "SearchNKI")', data, function (result) { 
        $("#GoalcardSearchResult tbody").html(''); 
        result.forEach(function (goalcard) { 
         $("#GoalcardSearchResult tbody").append(
          $('<tr/>', { 
           click: function() { 
            // todo: redirect 
            alert(goalcard.Id); 
           }, 
           html: "<td>" + goalcard.Name + "</td><td>" + goalcard.Customer + "</td><td>" + goalcard.PlannedDate + "</td><td>" + goalcard.CompletedDate + "</td>" 
          })); 
        }); 
       }); 
       return false; 
     }); 
    }); 

これは私のコントローラである:私は私のjQueryの表ソーターを追加するとき

[HttpPost] 
public JsonResult Search(SearchQueryViewModel model) 
{ 
    var goalcard = SearchRep.FindGoalCard(model); // My LINQ 

    return Json(goalcard.Select(x => new GoalCardViewModel(x))); 
} 

すべてが正常に動作しますが、:

<script type="text/javascript"> 
     $(document).ready(function() { 
      $("#GoalcardSearchResult").tablesorter(); 
     }); 
    </script> 

[検索]ボタンをクリックすると、このJsonテキストの壁が表示されます。

[] [1]

[1]:私は私の検索ボタンをクリックしてjqueryのコードをデバッグするとき

私は、これがなぜ起こるか分からない、私は表ソーターjqueryのを追加するときにも、実行され得ていませんコード。原因は何ですか?

テーブルソーターを追加すると、ボタンクリックjqueryコードの実行がブロックされ、サーバー側に直接ジャンプしてjsonが返されることがわかりました。

ありがとうございます!

+0

実行してしまったいくつかのマイナーな変更で、修正表ソーターコードでしたコードを知りません。ライブ/デリゲートを使用する代わりに、各結果にクリック機能をバインドする理由はありますか?デバッグは難しいですが、追加機能にバグがあります。 –

答えて

0

それはそれはドン人々のために、より理にかなっているので、私が代わりに `` HTML(「」)の `)(`空使用することをお勧めします、私はそれが

関連する問題