У меня есть простой HTML:
<div id="selectorContainer">
<div id="chainedSelector" style="display: none;"><% Html.RenderPartial("ProjectSuggest/ChainedProjectSelector"); %></div>
<div id="suggestSelector"><% Html.RenderPartial("ProjectSuggest/SuggestControl", new SuggestModeDTO{RegistrationMode = Model.RegistrationMode}); %></div>
</div>
это два контейнера для элементов управления. У меня есть код jQuery для переключения между их отображением, но мне нужно сохранить в виде куки, который использовался в прошлый раз, когда пользователь вошел в систему (то есть какой был видимым). Хранение куки не проблема.
Проблема в том, что я по какой-то причине не могу определить, какой из них скрытый, используя .is (": hidden"), и не могу определить, какой из них видим, используя .is (": visible" )
Когда я использую эти два селектора, я всегда получаю оба. «true» и «true» для обоих, хотя у каждого есть дисплей: нет; а другой нет. Обратите внимание, что они НЕ размещаются внутри скрытого контейнера, который в противном случае скрывал бы оба, поэтому скрытых контейнеров-предков нет.
Может кто-нибудь объяснить, почему это могло произойти?
jQuery-код, содержащий исходный код для получения идентификаторов и для получения выбранного (который в настоящее время не работает):
getChainedSelectorId: function() {
return "#chainedSelector";
},
getSuggestSelectorId: function() {
return "#suggestSelector";
},
getSelectedSelector: function() {
alert($(this.getChainedSelectorId()).is(":hidden"));
alert($(this.getSuggestSelectorId()).is(":hidden"));
var selected = ($(this.getChainedSelectorId()).is(":visible") ? this.getChainedSelectorId() : this.getSuggestSelectorId());
alert(selected);
return selected;
},
Заранее спасибо.