Razor View - jQuery .val()正在直观地更新一些组件 - 但不是全部

时间:2017-04-12 20:14:12

标签: javascript jquery asp.net-mvc razor asp.net-core

如果用户选择搜索而不是手动输入(尝试获取一些干净的数据),我会在页面中内置搜索功能,该功能会触及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 Core Razor View输入元素。它们看起来像这样:

<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的所有值都会正确更新视图。成绩和学校不会在视图上更新,但它们的值属性会更新。当我在数据填充后提交表单时,正确的值将传递给我的控制器。

我无法弄清楚为何不在视图中填充成绩和学校值。对于这两个来说唯一不同的是在模型中它们是可空的整数,而其他字段是字符串。

我尝试过.attr(&#39;值&#39;,等级),。text(等级)和.val(等级)的混合物,但它们都没有工作。我可以验证是否正在选择正确的元素,因为如果输出$(&#39;#Grade&#39;),我会得到输入对象。

0 个答案:

没有答案