JQuery val()返回空字符串

ele*_*tor 15 string jquery return

这非常令人费解,我甚至不确定我应该在这里发布什么代码.然而问题很简单.我在JQuery模式对话框中有一个表单,我在做一些价格计算.其中,我有一个字段折扣.呈现为:

<div class="editor-label">
    @Html.LabelFor(model => model.Discount)
</div>
<div class="editor-field">
    @Html.EditorFor(model => model.Discount, new { size = 10 })
</div>
Run Code Online (Sandbox Code Playgroud)

我在Firebug调试器DOM选项卡中看到,该字段的值为20.当然,它在表单上可见.但是打电话:

 $('#Discount').val()
Run Code Online (Sandbox Code Playgroud)

返回一个空字符串.这是唯一存在这个问题的领域.为其他字段调用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>
Run Code Online (Sandbox Code Playgroud)

Firebug中用于此元素的DOM选项卡显示值:"20"

Dar*_*nke 30

检查ID"折扣"是否唯一.

当在单个页面上放置多个表单时,我只留下"名称",但始终将"表单"元素的id加到每个"值"的id前面.

给我带来了很多麻烦.