Мне очень трудно понять, как заставить мой код работать правильно. В настоящее время у меня есть div, который скрыт при загрузке и изменяется после выбора из выпадающего списка.
После того, как выбор (США) сделан из выпадающего списка, появляется скрытый div, и пользователь продолжает заполнять форму.
Моя проблема возникает, когда пользователь сохраняет форму, а затем возвращается на эту страницу -> div больше не виден (я полагаю, это потому, что его внутреннее значение отображения установлено на «none;»). Пользователь должен еще раз выбрать правильное значение из выпадающего списка (США) для просмотра div.
Я хочу знать, как сделать div видимым при обновлении страницы, если в выпадающем списке указано правильное значение. Я программирую на HAML, и все значения параметров (США, международные) находятся в файле constants.rb.
Я считаю, что этого можно достичь либо с помощью файлов cookie (которых я бы хотел избежать, если это возможно), либо с помощью некоторой проверки jscript / jquery при загрузке страницы ... к сожалению, я совсем не знаком с эти вещи, поэтому я прошу любую помощь.
Я искренне ценю, что вы нашли время, чтобы помочь мне. Спасибо!
код HAML:
= f.select :location, LOCATIONS, {}, :onChange => "showStates(this)", :prompt => true
#states_div{:style => "display:none;"}
%div{:class => "label_leftalign field"}
= f.label :state, "State"
= f.select :state, STATES, :prompt => true
Javascript:
функция showStates (obj)
{
if(obj[obj.selectedIndex].value == 'United States')
{
document.getElementById('states_div').style.display = 'block';
}
else
{
document.getElementById('states_div').style.display = 'none';
}
}