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, время: 07:05. |