Div не фильтруются как: скрытые при отображении: нет; добавляется как стиль - PullRequest
3 голосов
/ 21 мая 2010

У меня есть простой 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;
},

Заранее спасибо.

Ответы [ 2 ]

3 голосов
/ 21 мая 2010

Я только что запустил следующий код с приведенным выше HTML, и он отлично работает:

<script type="text/javascript">
testobj = {
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;    
    }
}
$(function() {
    testobj.getSelectedSelector();
});


</script>

Что визуализируется в частичных представлениях?

0 голосов
/ 21 мая 2010

:hidden для свойства CSS visibility:hidden

Я думаю ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...