我一直没有使用 jQuery,但是我有这个表单,它可以毫无问题地向我的 MVC 控制器提交数据,正在保存数据,并且我的成功功能正在被击中,因为如果我发出警报(“事情” ) 在那里,它被解雇了。我的 ClearFields() 函数也被解雇了。但是,我使用 ajax 的 GetSamples(projId) 函数为我获取了 projectId 的示例列表,没有触发,但它确实在页面加载时触发。
下面是我的代码......如果有人能指出我正确的方向,那将是很好的,因为我不明白为什么它不工作
$(function () {
var projectId = "@Model.Project.Id";
GetSamples(projectId);
$("#refreshButton").button().click(function () {
GetSamples(projectId);
});
$("#saveSampleButton").button().click(function () {
$.ajax({
url: "/PreRegistration/AddSample",
type: "POST",
data: { projectId: projectId,
customerSampleId: $("#CustomerSampleId").val(),
customerSampleId2: $("#CustomerSampleId2").val(),
customerSampleId3: $("#CustomerSampleId3").val(),
customerSampleId4: $("#CustomerSampleId4").val(),
matrix: $("#Matrix").val(),
product: $("#Product").val(),
productGrade: $("#ProductGrade").val(),
dueDate: $("#DueDate").val()
},
success: function (response, projectId, jqXHR) {
alert("done");
ClearFields();
GetSamples(projectId);
},
error: function (xyz) {
alert("Something went wrong : " + xyz.val());
}
});
return false;
});
$("#DueDate").datepicker({ dateFormat: "dd/mm/yy" });
function ClearFields() {
$("#CustomerSampleId").val("");
$("#CustomerSampleId2").val("");
$("#CustomerSampleId3").val("");
$("#CustomerSampleId4").val("");
$("#Matrix").val("");
$("#Product").val("");
$("#ProductGrade").val("");
$("#DueDate").val("");
}
function GetSamples(pId) {
$.ajax({
url: "/PreRegistration/GetSamples",
type: "POST",
data: { Id: pId },
success: function (response) {
$("#ProjectSamples tbody").replaceWith(response)
}
});
}
});
我现在对代码进行了一些更改,因为我可以看到部分导致我的问题的原因,GetSamples() 函数似乎正在触发,但它没有更新表格......
$(function () {
var projectId = "@Model.Project.Id";
GetSamples(projectId);
$("#saveSampleButton").button().click(function () {
$.ajax({
url: "/PreRegistration/AddSample",
type: "POST",
data: { projectId: projectId,
customerSampleId: $("#CustomerSampleId").val(),
customerSampleId2: $("#CustomerSampleId2").val(),
customerSampleId3: $("#CustomerSampleId3").val(),
customerSampleId4: $("#CustomerSampleId4").val(),
matrix: $("#Matrix").val(),
product: $("#Product").val(),
productGrade: $("#ProductGrade").val(),
dueDate: $("#DueDate").val()
},
success: function (projectId) {
ClearFields();
GetSamples(projectId);
},
error: function (xyz) {
alert("Something went wrong : " + xyz.val());
}
});
return false;
});
$("#DueDate").datepicker({ dateFormat: "dd/mm/yy" });
function ClearFields() {
$("#CustomerSampleId").val("");
$("#CustomerSampleId2").val("");
$("#CustomerSampleId3").val("");
$("#CustomerSampleId4").val("");
$("#Matrix").val("");
$("#Product").val("");
$("#ProductGrade").val("");
$("#DueDate").val("");
}
function GetSamples(projectId) {
$.ajax({
url: "/PreRegistration/GetSamples",
type: "POST",
data: { Id: projectId },
success: function (response) {
$("#ProjectSamples tbody").replaceWith(response)
}
});
}
});
已调试,并且 projectId (1) 正在正确传递给函数。在 VS 中,在我的控制器操作中,正在获取数据并将其传递回视图......但没有重新填充表