![]() |
Модераторы: Sardar, Aliance |
![]() ![]() ![]() |
|
yalo |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 210 Регистрация: 24.5.2006 Репутация: нет Всего: 2 |
Здравствуйте
у меня вопрос к профессионалам, так как задача как мне кажется не совсем тривиальная, а в JS я слаба, потому пишу в этот раздел. Есть такой раздел в админке - Фирмы. Каждая фирма может быть размещена в нескольких разделах, каждый раздел имеет свое уникальное id, также разделы могут иметь вложеную структуру естественно. В списке фирм при редактировании каждой фирмы раскрывается древовидное меню (образец в прикрепленном файле) разделов сайта, каждый раздел идет кнопкой <input type='checkbox'>, причем если фирма отображается в данном разделе, то чекбокс выставлен, если не отображается, то снят. Задача: при рассмотрении определенного инпута (назовем его узел A), если в нем самом фирма отображена, следовательно он должен быть checked, другие разделы из этого же узла, нахожящиеся с check-нутым разделом на одном уровне (назовем их B и C), также должны отобразиться, даже если они не checked. Далее рядом с "чекнутыми" разделами должны открываться разделы-потомки последующего уровня, но не все, а на один уровень лишь ниже родителя (то есть вложенные узлы внтури уже этих потомков должны быть скрыты, при условии разумеется если нигде внутри них нет checked-разделов). То есть показаны первоначально разделы того уровня, в котором хотя бы одна фирма checked, и раскрыты ближайшие потомки тех разделов которые checked. Далее при щелкании на не "чекнутых" разделах, должна раскрываться ветвь, отображающая разделы следующего уровня уровеня плюс дополнительно должен автоматически становиться "чекнутым" их родитель, если еще раз кликнуть, то раздел свернется опять до родителя, а checked снимется, также если щелкнуть на первоначально "чекнутый" и раскрытый раздел, он также должен свернуться и галочка сняться. Вот. такая задача. Хочу решать ее таким образом. Передавать из пхп массив всех разделов, отображающий соответственно вложенную структуру разделов сайта и одномерный массив цифр, являющихся номерами "чекнутых" первоначально разделов (типа (1,5,23)) для выбранной фирмы. Дальнейшее все хочу реализовать на JS. Хочу узнать корректный ли это будет подход во-первых, а во-вторых, можно ли передать функции JS ассоциативный массив из пхп? Присоединённый файл ( Кол-во скачиваний: 14 ) ![]() |
|||
|
||||
dsCode |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 565 Регистрация: 8.9.2007 Где: Saint-Petersburg Репутация: 19 Всего: 26 |
yalo,
да, почему нет? но более корректный подход - подгрузка нужных чайлдов. Т.е. изначально загружены только паренты, при первом клике на парент - аяксом по parent_id подгружаются его чайлды (по колбеку загрузки в объект паренты записываются чайлды - т.е. при последующих кликах они будут браться из этого "кэша" а не запросом).
да - json |
|||
|
||||
![]() ![]() ![]() |
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |