Это очень озадачивает, и я даже не уверен, какой код я должен разместить здесь. Тем не менее, проблема очень проста. У меня есть форма в модальном диалоговом окне 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 для представленной модели, я вижу, что значение «Скидка» есть. Просто функция 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>
Пока на вкладке DOM в Firebug для этого элемента отображается значение: "20"