我使用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”。这似乎停止了值传递给Controller。
但我的问题是,如果我想让输入字段不可编辑,但仍然可以将值传递给Controller我该怎么办?
ANSWER 使用readonly而不是disabled属性,并使用灰色背景颜色使其看起来不可编辑。
谢谢。
答案 0 :(得分:1)
jQuery .val()
方法更新元素的value
属性,而不是属性值。
该属性主要用于初始化属性。
通常,您不需要value
元素的input
属性。