【发布时间】:2023-03-12 06:10:01
【问题描述】:
您好,我正在尝试在 mvc 5 的 javascript + jquery 中为 textarea 和 checkbox 设置我的值,但它不起作用。
我的 javscript 代码是
document.getElementById("UpdatetxtDescription").value = "abc";
document.getElementById("UpdateActive").checked = true;
我的查看页面代码为
@Html.TextAreaFor(model => model.Description, new { htmlAttributes = new { @class = "form-control", id = "UpdatetxtDescription" } })
@Html.CheckBoxFor(model => model.Active, new { htmlAttributes = new { @class = "form-control", id = "UpdateActive" } })
在控制台中我可以看到
<input data-val="true" data-val-required="The Active field is required." htmlattributes="{ class = form-control, id = UpdateActive }" id="Active" name="Active" type="checkbox" value="true">
<textarea cols="20" htmlattributes="{ class = form-control, id = UpdatetxtDescription }" id="Description" name="Description" rows="2"></textarea>
我可以使用 id="Description" 和 id="Active" 螺母设置值,因为我有 2 个复选框和 2 个文本区域,我无法使用该 id,因为这两个控件的 id 与 textarea 的描述和 Active 相同复选框
第二个 textarea 和 checkbox 如下所示,我已将其 Id 设置为不同
@Html.TextAreaFor(model => model.Description, new { htmlAttributes = new { @class = "form-control", id = "txtDescription", rows = "3" } })
@Html.CheckBoxFor(model => model.Active, new { htmlAttributes = new { @class = "form-control", id = "txtDescription" } })
但在控制台中我可以看到 ID 为
<textarea cols="20" htmlattributes="{ class = form-control, id = txtDescription, rows = 3 }" id="Description" name="Description" rows="2"></textarea>
<input data-val="true" data-val-required="The Active field is required." htmlattributes="{ class = form-control, id = txtDescription }" id="Active" name="Active" type="checkbox" value="true">
【问题讨论】:
-
您生成表单控件的代码是错误的 - 它的
@Html.TextAreaFor(m => m.Description, { @class = "form-control", id = "UpdatetxtDescription" })(不是new { htmlAttributes = { ...),那么您的选择器将正常工作,但您的代码建议您为同一属性生成 2 个控件将无论如何都不能正常工作
标签: javascript jquery asp.net-mvc asp.net-mvc-4 asp.net-mvc-3