Javascript Razor视图-jQuery.val()正在可视化地更新一些组件,但不是全部
我在一个页面中内置了一个搜索功能,如果用户选择搜索而不是手动输入(试图获取一些干净的数据),它可以点击API获取项目列表。我将所述表的第一列设置为调用JavaScript函数onclick。该函数类似于以下内容:Javascript Razor视图-jQuery.val()正在可视化地更新一些组件,但不是全部,javascript,jquery,asp.net-mvc,razor,asp.net-core,Javascript,Jquery,Asp.net Mvc,Razor,Asp.net Core,我在一个页面中内置了一个搜索功能,如果用户选择搜索而不是手动输入(试图获取一些干净的数据),它可以点击API获取项目列表。我将所述表的第一列设置为调用JavaScript函数onclick。该函数类似于以下内容: function loadDataFromTable(fname, lname, mname, stn, grade, school) { $('#StudentFirstName').val(fname); $('#StudentLastName').
function loadDataFromTable(fname, lname, mname, stn, grade, school) {
$('#StudentFirstName').val(fname);
$('#StudentLastName').val(lname);
if (mname !== "undefined") {
$('#StudentMiddleName').val(mname);
}
else {
$('#StudentMiddleName').val('');
}
$('#StudentNumber').val(stn);
$('#Grade').val(grade);
$('#School').val(school);
return false;
}
关联的HTML元素都是ASP.NET核心Razor视图输入元素。它们看起来像这样:
<div class="form-group">
<label class="col-md-3 control-label">Last Name</label>
<div class="col-md-9">
<input type="text" asp-for="StudentLastName" class="form-control" />
<span asp-validation-for="StudentLastName" class="text-danger"></span>
</div>
</div>
<div class="form-group">
<label class="col-md-3 control-label">STN</label>
<div class="col-md-9">
<input type="text" asp-for="StudentNumber" class="form-control" />
<span asp-validation-for="StudentNumber" class="text-danger"></span>
</div>
</div>
<div class="form-group">
<label class="col-md-3 control-label">Grade</label>
<div class="col-md-9">
<input type="text" asp-for="Grade" class="form-control" />
<span asp-validation-for="Grade" class="text-danger"></span>
</div>
</div>
<div class="form-group">
<label asp-for="School" class="col-md-3 control-label"></label>
<div class="col-md-9">
<select asp-for="School" asp-items="ViewBag.SchoolList" class="form-control"></select>
<span asp-validation-for="School" class="text-danger"></span>
</div>
</div>
姓
STN
等级
现在,如果用户单击表中的一个链接,所有值都会正确地传递到函数中,并且First Name、Last Name、Middle Name和STN的所有值都会正确地更新到视图中。Grade和School不会在视图上更新,但其值属性会更新。当我在数据填充后提交表单时,正确的值会传递给我的控制器
我不明白的是,为什么年级和学校价值观没有在视图中流行。这两个字段唯一不同的地方是在模型中它们是可为空的整数,而其他字段是字符串
我尝试了.attr('value',grade)、.text(grade)和.val(grade)的混合,但它们都不起作用。我可以验证是否选择了正确的元素,因为如果我输出$('#Grade'),我将获得输入对象 查看包.学校列表中有什么?或者选择元素的渲染输出是什么。其中一个选项的值是否与传递给js方法的
school
param值匹配?是的,ViewBag只是一个列表,其中的值/文本与school对应。