gpt4 book ai didi

javascript - 无法设置文本区域和复选框以在 mvc5 中设置值

转载 作者:行者123 更新时间:2023-11-29 23:36:02 27 4
gpt4 key购买 nike

您好,我正在尝试在 mvc 5 的 javascript + jquery 中为 textarea 和复选框设置我的值,但它不起作用。

我的 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,因为这两个控件具有与 textarea 和 Active 的描述相同的 id复选框

第二个文本区域和复选框如下,我将其 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 Helpers 的 htmlAttributes 参数。如果您看到生成的 HTML,您可以看到 idclass 没有被设置。但是一个名为 htmlAttributesattribute 本身是这样添加的:

<textarea cols="20" htmlattributes="{ class = form-control, id = UpdatetxtDescription }"></textarea>

所以你应该把它改成:

@Html.TextAreaFor(model => model.Description, new { @class = "form-control", id = "UpdatetxtDescription" })
@Html.CheckBoxFor(model => model.Active, new { @class = "form-control", id = "UpdateActive" })

@Html.TextAreaFor(model => model.Description, new { @class = "form-control", id = "txtDescription", rows = "3" })
@Html.CheckBoxFor(model => model.Active, new { @class = "form-control", id = "txtDescription" })

(PS:如果您要提交此表单,则只有一个文本区域和复选框将绑定(bind)到模型,因为您正在创建多个具有相同 name.attribute 的输入)

关于javascript - 无法设置文本区域和复选框以在 mvc5 中设置值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46305825/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com