【发布时间】:2017-09-28 19:19:31
【问题描述】:
我在使用 MVC 的页面上有一个下拉列表和一个输入字段。 我使用 JQuery 从 Controller 获取值来设置此输入字段的值取决于下拉列表选择。我注意到页面上填充了输入字段,但使用浏览器开发工具检查了 value 属性仍然为空。 我用
@Html.EditorFor(model => model.inputFieldID, new { htmlAttributes = new { @id = "inputFieldID"} })
在 JQuery ajax 中,我将值设置为:
$("#inputFieldID").val(NewValueFromDB);
我可以看到值是使用设置的
alert($("#inputFieldID").val());
但是在页面上,value属性字段是空的,我错过了什么?
更新:
我发现这是因为我试图使输入字段不可编辑,所以我给了它@disabled = "disabled"。这似乎停止了将值传递给控制器。
但我的问题是,如果我想让输入字段不可编辑,但仍然可以将值传递给控制器,我该怎么办?
回答 使用 readonly 而不是 disabled 属性,并赋予灰色背景色使其看起来不可编辑。
谢谢。
【问题讨论】:
标签: jquery asp.net-mvc