Как реализовать показ слоя при выборе пункта в Combobox?

WYSIWYG Web Builder, вопросы которые не охвачены в других разделах.
Правила форума
1. Название темы должно кратко описывать суть вашего вопроса, темы типа: "Помогите", "Почему", "Что это", "Что-то глючит" - будут удаляться.
2. Задавая свой вопрос, постарайтесь предоставить максимум информации о проблеме, если есть возможность, приложите шаблон проекта *.wtp.
Подробнее: Правила создания новых тем и ответов на существующие темы.
Данный форум - это место обсуждения вопроса, а не техподдержка в классическом смысле. Все участники форума Web Builder по-русски с удовольствием вам помогут, если это будет в их силах.
Ответить Вложения 4
Аватара пользователя

Автор Темы
Gold2020
Читатель
Читатель
Сообщения: 16
Зарегистрирован: 15 авг 2016, 12:57
Версия Web Builder: 11.2.3
Имя: Александр

Как реализовать показ слоя при выборе пункта в Combobox?

Сообщение Gold2020 » 06 сен 2016, 15:44

Как реализовать показ слоя при выборе пункта в Combobox?

пробовал через скрипт, но не получается.
У вас нет необходимых прав для просмотра вложений в этом сообщении.

Реклама
Аватара пользователя

Gudwinn
Эксперт
Эксперт
Сообщения: 1418
Зарегистрирован: 07 авг 2015, 18:39
Версия Web Builder: 11.0.2
Имя: Кирилл

Как реализовать показ слоя при выборе пункта в Combobox?

Сообщение Gudwinn » 06 сен 2016, 18:46

Я где то на форуме выкладывал решение этого вопроса, поищите, нужно именно под определённый пункт в селекте, показать определённый слой? Или при любом выборе пункта показать какой то один слой?
создание и разработка сайтов
Платные консультации
Готовые решения
Скайп: kirill47853

Аватара пользователя

Gudwinn
Эксперт
Эксперт
Сообщения: 1418
Зарегистрирован: 07 авг 2015, 18:39
Версия Web Builder: 11.0.2
Имя: Кирилл

Как реализовать показ слоя при выборе пункта в Combobox?

Сообщение Gudwinn » 07 сен 2016, 04:35

В общем из твоего скрипта я понял что тебе при выборе второго опшэна из комбобокса надо показать Layer1, а при выборе любого другого опшэна скрывать его, верно?
Вот тебе не мудрённая функция

Код: Выделить всё

<script>
document.getElementById('Combobox5').addEventListener('change', function () {
        var style = this.value == "что то" ? 'visible' : 'hidden';
        document.getElementById('Layer1').style.visibility = style;
    });
</script>
Вставь её в конце страници в исходнике страницы, "что то" в скрипте поменяй на значение твоего (не на название, а именно значение) второго опшэна, и твой комбобокс если у него будет id Combobox5 (как в твоём скрипте) будет при выборе из селекта второго опшэна, отображать ранее скрытый Layer1, а при выборе других опшенов, скрывать.

Если же надо выполнить единоразово что то, показать ранее скрытое, то надо в комбобоксе выбрать событие onchange далее выбрать функцию javascript и вписать это

Код: Выделить всё

document.getElementById(this.value).style.visibility='visible'
В значении нужного опшэна надо указать ID элемента (без #) который надо показать. Условных операторов задействовать для этого пожалуй излишне)))
создание и разработка сайтов
Платные консультации
Готовые решения
Скайп: kirill47853

Аватара пользователя

Автор Темы
Gold2020
Читатель
Читатель
Сообщения: 16
Зарегистрирован: 15 авг 2016, 12:57
Версия Web Builder: 11.2.3
Имя: Александр

Как реализовать показ слоя при выборе пункта в Combobox?

Сообщение Gold2020 » 07 сен 2016, 12:02

Gudwinn писал(а):Источник цитаты Я где то на форуме выкладывал решение этого вопроса

Нашел ваше решение, оно полностью меня устроило. Спасибо за внимание :co_ol: .

Кому понадобиться исходник прикрепляю, внимательно смотреть код
У вас нет необходимых прав для просмотра вложений в этом сообщении.

Аватара пользователя

Автор Темы
Gold2020
Читатель
Читатель
Сообщения: 16
Зарегистрирован: 15 авг 2016, 12:57
Версия Web Builder: 11.2.3
Имя: Александр

Как реализовать показ слоя при выборе пункта в Combobox?

Сообщение Gold2020 » 07 сен 2016, 16:48

Gold2020 писал(а):Источник цитаты Нашел ваше решение, оно полностью меня устроило.


Оказалось не все так просто, к сожалению не показывает изначально скрытые объекты

Отправлено спустя 21 минуту 32 секунды:
немного криворуко но получилось поправить
У вас нет необходимых прав для просмотра вложений в этом сообщении.

Аватара пользователя

Gudwinn
Эксперт
Эксперт
Сообщения: 1418
Зарегистрирован: 07 авг 2015, 18:39
Версия Web Builder: 11.0.2
Имя: Кирилл

Как реализовать показ слоя при выборе пункта в Combobox?

Сообщение Gudwinn » 07 сен 2016, 17:20

Gold2020 писал(а):Источник цитаты к сожалению не показывает изначально скрытые объекты

Пример когда давнишний писался, слои не были скрыты, и я же тебе функцию написал под твои задачи прям выше на JS именно с отображением ранее скрытого слоя?)) Причём там даже классы не надо прописывать в слоя))
создание и разработка сайтов
Платные консультации
Готовые решения
Скайп: kirill47853

Аватара пользователя

Автор Темы
Gold2020
Читатель
Читатель
Сообщения: 16
Зарегистрирован: 15 авг 2016, 12:57
Версия Web Builder: 11.2.3
Имя: Александр

Как реализовать показ слоя при выборе пункта в Combobox?

Сообщение Gold2020 » 08 сен 2016, 11:28

Gudwinn, извиняюсь изначально немного неправильно вопрос поставил, надо по selector отображать скрытые слои(не один слой), по вашему скрипту отображается нормально но только один слой, я так понимаю решение должно быть через условие? Либо просто скрипт дублировать для каждого слоя?

Отправлено спустя 8 минут 43 секунды:
Если прописать для каждого слоя то работает(не надо прописывать классы для слоев и невидимость), рабочий пример прикрепляю

Код: Выделить всё

<script>
document.getElementById('Combobox5').addEventListener('change', function () {
        var style = this.value == "значение из combobox" ? 'visible' : 'hidden';
        document.getElementById('Layer1').style.visibility = style;
    });
document.getElementById('Combobox5').addEventListener('change', function () {
        var style = this.value == "значение из combobox" ? 'visible' : 'hidden';
        document.getElementById('Layer2').style.visibility = style;
    });
document.getElementById('Combobox5').addEventListener('change', function () {
        var style = this.value == "значение из combobox" ? 'visible' : 'hidden';
        document.getElementById('Layer3').style.visibility = style;
    });
</script>


Возможно ли сократить этот скрипт??
У вас нет необходимых прав для просмотра вложений в этом сообщении.

Аватара пользователя

Gudwinn
Эксперт
Эксперт
Сообщения: 1418
Зарегистрирован: 07 авг 2015, 18:39
Версия Web Builder: 11.0.2
Имя: Кирилл

Как реализовать показ слоя при выборе пункта в Combobox?

Сообщение Gudwinn » 08 сен 2016, 19:13

Gold2020 писал(а):Источник цитаты Возможно ли сократить этот скрипт??

Вот для 3 слоёв, думаю разберётесь

Код: Выделить всё

<script>
document.getElementById('Combobox5').addEventListener('change', function () {
        var style = this.value == "1" ? 'visible' : 'hidden';
        document.getElementById('Layer1').style.visibility = style;
        var style = this.value == "2" ? 'visible' : 'hidden';
        document.getElementById('Layer2').style.visibility = style;
        var style = this.value == "3" ? 'visible' : 'hidden';
        document.getElementById('Layer3').style.visibility = style;
    });
</script>
создание и разработка сайтов
Платные консультации
Готовые решения
Скайп: kirill47853

Аватара пользователя

Автор Темы
Gold2020
Читатель
Читатель
Сообщения: 16
Зарегистрирован: 15 авг 2016, 12:57
Версия Web Builder: 11.2.3
Имя: Александр

Как реализовать показ слоя при выборе пункта в Combobox?

Сообщение Gold2020 » 09 сен 2016, 09:38

Gudwinn, Спасибо, очень помогли! :co_ol:


Ответить Вложения 4

Вернуться в «Общие вопросы.»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя