2013-11-12 2 views
0

У меня есть div, <div class="sectionCarouselCapabillities"> ... </div> который - по умолчанию - скрыт от прицела, если вы не вносите изменения в раскрывающийся список. Таким образом, следующее:Держите div видимым после отправки формы

$('.carouselUser').change(function(){ 
     $('.sectionCarouselCapabillities').show() 
    }); 

государства, когда выберите поле - с классом: состояние carouselUser изменения, мы показываем DIV sectionCarouselCapabillities. Отлично работает.

Проблема?

После отправки формы, что ДИВ больше не видна, потому что их не будет никаких изменений в выпадающий ...

Так что же я должен изменить, чтобы сделать его появляются после изменения и остаются видимыми ПОСЛЕ форма Представление

+3

Форма представляет перезагружает страницу. Изменения, внесенные в dom, не переносятся между загрузками страниц. Используйте cookie или localStorage, чтобы отслеживать, когда элемент должен отображаться или скрываться, или изменить форму отправки, чтобы использовать ajax. –

+1

Ditto on @Jason, если у вас есть возможность использовать AJAX вместо сообщения, я также предлагаю использовать это – Gobo

+1

Вместо того, чтобы использовать cookie, выпекайте его в своем построителе страниц на задней панели (что бы вы ни использовали). Добавляйте только скрытые, если нет значения. И.Е. если запись не существует, скрытые еще не скрыты. Или используйте то, что сказал @Gobo, и используйте ajaz. – buzzsawddog

ответ

1

Вместо того чтобы использовать шоу(), вы можете добавить класс:

$('.carouselUser').change(function(){ 
    $('.sectionCarouselCapabillities').addClass('is-active'); 
}); 

И в вашем CSS:

.sectionCarouselCapabillities.is-active { display: block; } 

На стороне сервера вы можете проверить, если форма размещена , Если это так, добавьте активный класс в div.

1

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

Смежные вопросы