我在我的项目中使用 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 表排序器时:
<script type="text/javascript">
$(document).ready(function () {
$("#GoalcardSearchResult").tablesorter();
});
</script>
当我单击“搜索”按钮时,我得到了这堵 Json 文本墙:
![][1]
[1]:
我不知道为什么会发生这种情况,当我调试我的搜索按钮单击 jquery 代码时,当我添加 Table Sorter jquery 代码时它甚至没有被执行。有人知道原因是什么吗?
我所知道的是,当我添加表格排序器时,它会阻止我的按钮单击 jquery 代码运行并直接跳转到服务器端并返回 json。
提前致谢!