这非常令人费解,我什至不确定我应该在这里发布什么代码。然而问题非常简单。我在 JQuery 模式对话框中有一个表单,我正在其中进行一些价格计算。其中,我有一个字段折扣。呈现为:
<div class="editor-label">
@Html.LabelFor(model => model.Discount)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Discount, new { size = 10 })
</div>
我在 Firebug 调试器的 DOM 选项卡中看到,该字段的值为 20。当然,它在表单上可见。但是调用:
$('#Discount').val()
返回一个空字符串。这是唯一存在此问题的领域。为其他字段调用 val() 会返回正确的值。即使单击提交并调试提交模型的 MVC 操作,我也看到 Discount 的值在那里。只是 JQuery 函数返回一个空字符串,并且只针对这个字段。
我知道这是一个有点抽象的问题,但有人有过这样的经历吗?
谢谢
生成的 HTML:
<div class="editor-label">
<label for="Discount">Popust (%)</label>
</div>
<div class="editor-field">
<input id="Discount" class="text-box single-line valid" type="text" value="0" name="Discount" data-val-range-min="0" data-val-range-max="100" data-val-range="Vredonst mora biti izmedju 0 i 100" data-val-number="Polje Popust (%) mora biti broj" data-val="true" size="10">
</div>
虽然此元素的 Firebug 中的 DOM 选项卡显示值:“20”