Не могу показать измененное значение в скрытом поле с JavaScript

У меня есть флажок и 2 поля ввода чисел:

<input name="exercise[hold]" type="hidden" value="0"><input class="te-cb" id="exercise_hold" name="exercise[hold]" type="checkbox" value="1">
<input class="exerciseReps input-mini" id="exercise_number_of_reps_in_set" min="0" name="exercise[number_of_reps_in_set]" placeholder="Reps" type="number" style="display: none; ">
<div class="input-append te-len" style="display: inline-block; ">
    <input class="exerciseLength input-mini" id="exercise_length" min="0" name="exercise[length]" placeholder="Length" type="number">
    <span class="add-on">sec</span>
</div>

Одно поле ввода скрыто с помощью js:

$('.te-len').hide()

В приведенной выше форме есть также поле ввода текста с автоконкурсом, которое получает данные с помощью ajax (что здесь не актуально). С помощью jquery я устанавливаю значения полей ввода формы с данными, полученными с сервера.

Я также показываю скрытое поле, если значение для флажка истинно:

if data[selected].hold
    $('.exerciseReps').hide()
    $('.te-len').show()

и это работает

Каждое поле установлено правильно, примите скрытое поле, это поле пустое.

Странно то, что я поместил оповещение о значении этого скрытого поля после того, как оно было установлено, и оповещение показывает значение, которое должно было быть установлено, но значение не видно

$('.te-len').val( data[selected].length )
alert $('.te-len').val()

Примечание: код js на самом деле является coffescript.

1 ответ

Решение

Я думаю, что проблема в том, что вы устанавливаете значение div, Хотя использование val работает, эта функция в основном используется на элементах формы, таких как input, select а также textarea,

Если вы хотите заменить содержимое div.te-len тогда вы могли бы использовать либо html или же text:

$('.te-len').html( data[selected].length )

Но похоже, что вы пытаетесь показать data[selected].length значение в input.exerciseLength числовое поле. Для этого вы должны использовать:

$('#exercise_length').val( data[selected].length )
Другие вопросы по тегам