Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Razor视图-jQuery.val()正在可视化地更新一些组件,但不是全部_Javascript_Jquery_Asp.net Mvc_Razor_Asp.net Core - Fatal编程技术网

Javascript Razor视图-jQuery.val()正在可视化地更新一些组件,但不是全部

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').

我在一个页面中内置了一个搜索功能,如果用户选择搜索而不是手动输入(试图获取一些干净的数据),它可以点击API获取项目列表。我将所述表的第一列设置为调用JavaScript函数onclick。该函数类似于以下内容:

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对应。