我想在ASP中获得EditorFor的值,但它不会给我任何回报。
感谢您的帮助
<div class="form-group" id="ParticipantNumber">
@Html.LabelFor(model => model.ParticipantNumber, new { @class = "control-label col-md-2"})
<div class="col-md-10">
@Html.EditorFor(model => model.ParticipantNumber, new { @class = "ParticipantNumber", disabled = "disabled" })
@Html.ValidationMessageFor(model => model.ParticipantNumber)
</div>
</div>
我的JavaScript代码
$('#ParticipantNumber').keyup(function () {
var s = $('#ParticipantNumber').val();
console.log(s)
}
答案 0 :(得分:0)
您的JavaScript正在寻找$('#ParticipantNumber')
,这是ID为ParticipantNumber
的元素。您的代码使用以下命令定义编辑器:
@Html.EditorFor(model => model.ParticipantNumber, new {
@class = "ParticipantNumber", disabled = "disabled" })
此处的目的是将input
分配给ParticipantNumber
类,这意味着您可以使用`$(&#39; .ParticipantNumber&#39;)来代替它。
但是,您使用的参数是additionalViewData
; EditorFor
HTML编辑器没有将HTML属性反映回渲染器的属性。你有两个选择:
input
选项1可能对您的需求有点过分;使用选项2,通过简单地引用input
中的<div id='ParticipantNumber'>
,以下内容即可解决您的问题:
@Html.EditorFor(model => model.ParticipantNumber)
$('#ParticipantNumber input').keyup(function () {
var s = $(this).val();
console.log(s)
}
答案 1 :(得分:-1)
在javascript中,您正在查询&#34; id&#34;属性,但@Html.EditorFor
默认情况下不会发出任何ID。您可以像这样修改代码
@Html.EditorFor(model => model.ParticipantNumber, new { @class = "ParticipantNumber", disabled = "disabled", id="ParticipantNumber" })
然后你的javascript就可以了。