jquery.dynatree + cookie не получается запомнить открытый путь дерева.
Здравствуйте Уважаемые!
Помогите новичку с jquery, а конкретно с плагином dynatree Есть такой код: index.html <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>TEST</title> <script src='./libs/jquery/jquery.js' type='text/javascript'></script> <script src='./libs/jquery/jquery.ui.core.js' type='text/javascript'></script> <script src='./libs/jquery/jquery.cookie.js' type='text/javascript'></script> <script src='./libs/jquery/jquery.dynatree.js' type='text/javascript'></script> <script src='./libs/jquery/my_tree.js' type='text/javascript'></script> <link href='./css/dynatree.css' rel='stylesheet' type='text/css'> </head> <body> <div id="tree"></div> </body> </html> my_tree.js $(function(){ $("#tree").dynatree({ title: "Lazy loading sample", rootVisible: true, persist: true, children: [ {title: "Dir - 2", isFolder: true, key: "1", children: [ {title: "Dir - 2.1", isFolder: true, key: "2", children: [{title:"File - 2.1.1"}]}, {title:"File - 2.1"}, {title:"File - 2.2"}, {title:"File - 2.3"} ]} ] }); }); По идее Код:
persist: true Кликаем по Dir - 2, нажимаем F5 страница перегружается Dir - 2 выделена, но не раскрыта, еще раз жмем F5, теперь выделена и раскрыта, если опять обновить страницу, то опять только выделена но не раскрыта. И так можно до бесконечности. В куках лежат переменные: ui-dynatree-cookie-active и ui-dynatree-cookie-expand В ui-dynatree-cookie-active всегда значение 1, а вот ui-dynatree-cookie-expand понятно что если раскрывается то значение 1, а если нет то пусто... Далее все еще сложнее кликаем по Dir - 2.1 и тут стираются ui-dynatree-cookie-active и ui-dynatree-cookie-expand, даже не пустые значения а полное отсутствие переменных!!! Естественно ничего не работает... Помогите пожалуйста подскажите где я что упускаю... |
Цитата:
Кроме того, в документации есть примечание "the nodes must have a key defined. Also, it will not work with lazy nodes". Пример на сайте у меня работает, можешь дать ссылку на свою страничку (если не поможет)? |
Цитата:
Пример здесь: http://www.telemedicine.kz/tree/ Скачать: http://www.telemedicine.kz/tree/tree.zip Цитата:
Для чистоты эксперимента заново скачал библиотеку dynatree-0.4.0, ничего не меняя не в стилях не в расположении элементов выложил следующее: в /tree/jquery: jquery.cookie.js jquery/jquery.js ui.core.js в /tree/src: - jquery.dynatree.js и директория skin c ui.dynatree.css и фалами картинок (иконок) для дерева. Создал в /tree/src файл mytree.js: $(function(){ $("#tree").dynatree({ title: "tree root", rootVisible: true, persist: true, children: [ {title: "Dir - 2", isFolder: true, key: "1", children: [ {title: "Dir - 2.1", isFolder: true, key: "2", children: [{title:"File - 2.1.1", key: "211"}]}, {title:"File - 2.1", key: "21"}, {title:"File - 2.2", key: "22"}, {title:"File - 2.3", key: "23"} ]} ] }); }); А вот index.html: <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>TEST</title> <script src='./jquery/jquery.js' type='text/javascript'></script> <script src='./jquery/ui.core.js' type='text/javascript'></script> <script src='./jquery/jquery.cookie.js' type='text/javascript'></script> <script src='./src/jquery.dynatree.js' type='text/javascript'></script> <script src='./src/mytree.js' type='text/javascript'></script> <link href='./src/skin/ui.dynatree.css' rel='stylesheet' type='text/css'> </head> <body> <div id="tree"> </div> </body> </html> Все равно не работает. Все взято с библиотеки. Может в ней дело? Качал здесь: http://code.google.com/p/dynatree/downloads/list |
В общем похоже это баг в библиотеке dynatree-0.4.0.zip
так как скачав dynatree-0.3.0_20081207.zip все заработало. Правда старая версия библиотеки хранит только одну куку ui-dynatree-cookie по этому открывать открывает, но не запоминает что было выделено. |
Вчера написал bug report Мартину, смотрю сегодня уже лежит версия 0.4.1 :victory:
http://code.google.com/p/dynatree/downloads/list |
Часовой пояс GMT +3, время: 12:16. |