Как по умолчанию показывать или скрывать с помощью jQuery на основе значения флажка?

#javascript #jquery #toggle #hide #show

#javascript #jquery #переключение #скрыть #показать

Вопрос:

У меня есть следующий jQuery:

  $('#promotion_profile_offer').live('click', function(e) {
   $('.nooffer').toggle();
 });
  

который переключает форму, если он обнаруживает щелчок, он скрывает форму. Это отлично работает в случае, когда пользователь снимает флажок, но это не имеет смысла, когда флажок по умолчанию снят и перемещается в флажок.В этом случае мой код будет скрывать форму предложения, когда пользователь нажимает флажок предложения.

Поэтому, как мне сделать следующее:

  1. Прочитайте значение флажка #promotion_profile_offer
  2. По умолчанию для класса .nooffer используется значение hide(), если поле #promotion_profile_offer равно false

Спасибо.

Ответ №1:

 $('#promotion_profile_offer').live('click', function(e) {
   var checked = $(this).is(':checked');

   $('.nooffer')[checked ? 'show' : 'hide']();
 });
  

Или более простая для чтения версия:

 $('#promotion_profile_offer').live('click', function(e) {
   var checked = $(this).is(':checked');

   if (checked === false) $('.nooffer').hide()
   else $('.nooffer').show()
 });