プロジェクトで MVC3 を使用しています。
たくさんの 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;
});
});
これは私のコントローラーです:
[HttpPost]
public JsonResult Search(SearchQueryViewModel model)
{
var goalcard = SearchRep.FindGoalCard(model); // My LINQ
return Json(goalcard.Select(x => new GoalCardViewModel(x)));
}
すべて正常に動作しますが、Jquery Table Sorter を追加すると:
<script type="text/javascript">
$(document).ready(function () {
$("#GoalcardSearchResult").tablesorter();
});
</script>
[検索] ボタンをクリックすると、次の Json テキストの壁が表示されます。
![][1]
[1]:
検索ボタンをクリックしてjqueryコードをデバッグすると、テーブルソーターのjqueryコードを追加しても実行されないため、なぜこれが起こるのかわかりません。何が原因かわかる方いますか?
私が知っているのは、Table Sorter を追加すると、ボタン クリック jquery コードの実行がブロックされ、サーバー側に直接ジャンプして json が返されるということだけです。
前もって感謝します!