За последние 24 часа нас посетили 62085 программистов и 1788 роботов. Сейчас ищут 829 программистов ...

jstree

Тема в разделе "JavaScript и AJAX", создана пользователем des1roer, 20 май 2014.

  1. des1roer

    des1roer Новичок

    С нами с:
    10 апр 2014
    Сообщения:
    55
    Симпатии:
    0
    подскажите как работать с http://www.jstree.com/ необходимо нарисовать дерево. вида
    главный раздел
    1 раздел
    1.2 раздел
    2 раздел
    выгребаю данные из таблицы вида
    ид/ имя раздела / ид родителя
    0 главный раздел
    1 1 раздел 0
    2 2 раздел 0
    3 1.2 раздел 1
    получаю данные из таблицы, создаю многомерный массив.
    нужно его перегнать в json и отдать jstree. кто работал - подскажите как это сделать, желательно доступно
     
  2. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
  3. des1roer

    des1roer Новичок

    С нами с:
    10 апр 2014
    Сообщения:
    55
    Симпатии:
    0
    а самом то сможешь с налету разобраться как выгружать дерево с бд, и чтобы по клику на нем в другом фрейме отображалась страница с определенными параметрами? я вот за 3 часа разобрался, но будь русская документация мог бы и быстрее. кст может кому поможет http://des1roer.blogspot.ru/2014/05/jstree.html

    Добавлено спустя 8 минут 39 секунд:
    я как понимаю jstree довольна популярная библиотека и должно быть много людей работавших с ней. сейчас остановился на таком аспекте - как сделать чтобы при получении определенного ид (получаю гетом), выбирался узел дерева.
    вот если на js писать
    Код (Text):
    1.   var data2 = [
    2.        { "id" : "1", "text" : "главная", "parent" : "#" },
    3.        { "id" : "2", "text" : "Услуги", "parent" : "#" },
    4.        { "id" : "3","text" : "Наши работы" , "parent" : "2" },
    5.        { "id" : "4", "text" : "Создание интернет магазина" , "parent" : "2", "state" : { "opened" : true,"selected":true }},
    6.        { "id" : "5", "text" : "Создание сайта", "parent" : "4" },
    7.     ];
    "state" : { "opened" : true,"selected":true } - открывает узел в дереве. но данные я получаю с базы (считай динамически), как записать внутрь массива еще и стэйт { "id" : "3","text" : "Наши работы" , "parent" : "2" }. как то добавить элемент надо, я не умею.
    2 способ - наверное более простой и правильный
    на пхп завожу массив
    Код (Text):
    1. while ($row = pg_fetch_row($rs))
    2.                 {
    3.                     $Sum[] = array
    4.                     ("id" =>  $row[0],
    5.                     "text"  => $row[1],
    6.                     "parent" => $row[2]);
    7.                 }
    8. $dataJ = json_encode ($Sum);
    собственно можно проверить по полученному ид
    Код (Text):
    1. if ($row[0] == $nrec)
    и добавить что то вроде
    Код (Text):
    1. "state" => '{ "selected":true }',
    но таким образом json_encode ругается на "", в общем синтаксис ему не нравится. может их как то заэкранировать можно - не знаю
     
  4. des1roer

    des1roer Новичок

    С нами с:
    10 апр 2014
    Сообщения:
    55
    Симпатии:
    0