Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Применение библиотек > показ <div> при нажатом чекбоксе


Автор: Marlik 17.10.2013, 06:03
Доброго времени суток. Есть два дива, в первом чекбокс, второй скрыт по умолчанию. Не пойму почему не показывает содержимое скрытого <div>?

Код

    <div>
<input type="checkbox" name="agree" onclick=$('#subform').toggle('true');><a href="http://example.com/agree.html">Текст
    </div>

     <div id="subform" class="actions-bar">
<button  type="submit" name="send" class="action primary button" style="display: none;"> Отправка</button>
     </div>



Подскажите, как будет правильно? Заранее спасибо. Кстати если убрать style="display: none; работает, но неправильно, ведь нужно что-бы второй <div> изначально был скрыт и не скрывать его, а показывать, как получается. Функция show() просто тупо не работает.

Автор: ksnk 17.10.2013, 07:10
Скрыт не сам див, а кнопка внутри него.
Это если не считать ошибок в разметке и незакрытые теги...

Автор: Marlik 17.10.2013, 07:22
Можно подробнее про незакрытые теги, ошибки? Спасибо за помощь, заработало. Нюанс только возник один. Теперь при нажатии на чекбокс всплывает кнопка, но существует вариант что юзер отожмет назад чекбокс, а кнопка останется видимой. Как бы обойти это? Попробую вариант с скрытием div'а где чекбокс находится. Спасибо, разобрался, стояла функция show(). Все работает, плюсанул.

Автор: ksnk 17.10.2013, 09:29
Цитата(Marlik @  17.10.2013,  07:22 Найти цитируемый пост)
Можно подробнее про незакрытые теги, ошибки

в примере не закрыт тег A и текст тега onclick не взят в кавычки.

Нужно скрывать-нескрывать по значению чекбокса, а не по toggle.
Код

onclick="$('#subform').stop(true,true)[this.checked?'show':'hide']('slow');"

Автор: _zorn_ 17.10.2013, 09:31
Хех, на 2 минуты опоздал smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)