【发布时间】:2020-09-07 11:27:33
【问题描述】:
在这里,我尝试根据等级下拉列表@Html.DropDownListFor(model => Model.CreditHourAndFullMarksPartialViewViewModels[i].FinalGrade, new SelectList(ViewBag.FinalGrade, "GradePointId", "Grading"), "-- Select Grade --", new { @class = "form-control", @id = "slcFinalGrade" }) 的变化,在@Html.EditorFor(model => Model.CreditHourAndFullMarksPartialViewViewModels[i].GradePoint, new { htmlAttributes = new { @class = "form-control", @id = "txtGradePoint" } }) 的各个编辑器上设置等级点值。
但是,尽管 ajax 中的所有值都可用,但没有显示 editorfor 中的值。
下面是我的 Jquery Ajax
<script>
$("select#slcFinalGrade").change(function () {
debugger
var getGradeVal = $("select#slcFinalGrade").val();
var parameter = { gradePointId: getGradeVal }
$.ajax({
url: "/StudentResults/GetGradePoint",
data: parameter,
type: "GET",
success: function (data) {
debugger
$(this).closest('tr').find('input#txtGradePoint').val(data)
}
})
});
</script>
下面是我的html
@for (int i = 0; i < Model.CreditHourAndFullMarksPartialViewViewModels.Count; i++)
{
<tr>
@Html.HiddenFor(model => Model.CreditHourAndFullMarksPartialViewViewModels[i].ResultId)
<td>
@Html.DropDownListFor(model => Model.CreditHourAndFullMarksPartialViewViewModels[i].Practical, new SelectList(ViewBag.Pratical, "GradePointId", "Grading"), "-- Select Grade --", new { @class = "form-control" })
@Html.ValidationMessageFor(model => Model.StudentResult.Practical, "", new { @class = "text-danger" })
</td>
<td>
@Html.DropDownListFor(model => Model.CreditHourAndFullMarksPartialViewViewModels[i].FinalGrade, new SelectList(ViewBag.FinalGrade, "GradePointId", "Grading"), "-- Select Grade --", new { @class = "form-control", @id = "slcFinalGrade" })
@Html.ValidationMessageFor(model => Model.StudentResult.FinalGrade, "", new { @class = "text-danger" })
</td>
<td>
@Html.EditorFor(model => Model.CreditHourAndFullMarksPartialViewViewModels[i].GradePoint, new { htmlAttributes = new { @class = "form-control", @id = "txtGradePoint" } })
@Html.ValidationMessageFor(model => Model.StudentResult.GradePoint, "", new { @class = "text-danger" })
</td>
</tr>
}
下面是我的控制器方法
public decimal GetGradePoint(int gradePointId)
{
var getPoint = db.GradePoints.Where(x => x.GradePointId == gradePointId).FirstOrDefault().Points;
return Convert.ToDecimal(getPoint);
}
【问题讨论】:
标签: jquery ajax asp.net-mvc