Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Помогите разобраться с траверсингом. (https://javascript.ru/forum/jquery/31553-pomogite-razobratsya-s-traversingom.html)

Nanto 12.09.2012 14:26

Помогите разобраться с траверсингом.
 
Есть такой элемент интерфейса, как раскрывающееся дерево чекбоксов.
Логика поведения следующая - если меняем атрибут чекбокса ("checked") - то все его потомки тоже приобретают (или соответственно теряют) этот атрибут. Тут всё просто, и нормально работает.
Но есть одна заковыка - если на каком-то уровне потомков, один из "соседей" отличается от других (чекнут) - то все его предки затеняются (дескать не все потомки отмечены). Я там все равно картинку подсовываю (нестандартные чекбоксы), но это не суть - можно навешивать атрибут "disabled". И вот эта схема у меня работает очень коряво - никак не получается корректно обшарить дерево.
Плюс ещё момент - из элементов рядом со всеми отмеченными чекбоксами, надо взять текст и поместить его в другой блок. Это тоже просто, но снова заковыка - зачем брать всех, получится повторение. Так что берём только родителей, у которых отмечены все потомки, либо (если потомков нет), то сам элемент.
На словах, наверное не понятно - сейчас пример набросаю...

Nanto 12.09.2012 15:00

Вот бли, что-то у меня тестовая фигня не работает. Тут видио загвоздка с атрибутами. Как кроссбраузерно, через jQ чекнуть инпут?
http://jsfiddle.net/dSK8n/8/


Часовой пояс GMT +3, время: 07:55.