2012-05-31 5 views
11

Это очень озадачивает, и я даже не уверен, какой код я должен разместить здесь. Но проблема очень проста. У меня есть форма в модальном диалоге JQuery, где я делаю некоторые расчеты цен. Среди прочего, у меня есть поле Скидка. Представлено как:JQuery val() возвращает пустую строку

<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() для других полей возвращает правильные значения. Даже нажав submit и отлаживая действие 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> 

Хотя вкладка DOM в Firebug для этого элемента показывает значение: "20"

+0

Не могли бы вы отправить сгенерированный вывод (HTML)? –

+0

Вы также можете попробовать '.text()', так как 'Html.EditorFor' сбрасывает'