Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Построить дерево по xml. (https://javascript.ru/forum/jquery/11462-postroit-derevo-po-xml.html)

mmfStudent 25.08.2010 04:39

Построить дерево по xml.
 
Вот надо написать что-то подобное: http://xmlwebpad.codeplex.com/
На сколько я понял там используется http://www.jstree.com/. Что-то у меня толком разобраться не получилось.
Подскажите пока как просто по готовому xml (допустим приходит с сервера через ajax) построить дерево.

sysya 25.08.2010 07:31

Скачайте с их сервера скрипт и посмотрите как он устроен

mmfStudent 25.08.2010 09:52

Да, так и надо. Но он очень большой. А построить дерево это если не стандартная, то очень часто нужная вещь, наверняка должны быть готовые решения.

sysya 25.08.2010 13:39

Глупости спрашиваете, вы эти сайты зачем показываете, разве там не готовые решения :) . Скачайте, установите и потом если будут ошибки и непонятки какие то, заходите уже на форум.

jstree хотябы, чем не устроил?

mmfStudent 25.08.2010 15:39

Цитата:

Сообщение от sysya (Сообщение 68603)
Глупости спрашиваете, вы эти сайты зачем показываете, разве там не готовые решения :) . Скачайте, установите и потом если будут ошибки и непонятки какие то, заходите уже на форум.

jstree хотябы, чем не устроил?

Ну мне нужно написать нечто более простое чем в первой ссылке и на Java.
jsTree видимо то что мне нужно, но я не смог с ним толком разобраться из-за неважного английского. А вот этот пример http://www.jstree.com/documentation/xml_data тае где demo2, у меня не сработал, хотя фактически это мне и нужно. Вот и прошу что бы показали рабочий пример с любым пусть самым простым xml ну или ссылку. По хорошему конечно все есть в http://xmlwebpad.codeplex.com/, но много кода, и нет времени разобраться.

sysya 25.08.2010 18:20

Тада предложу 3 варианта:
1) Используя промт и знания в английском друзей, родителей... Переводим всё что на страницах jstree, там где надо и используем вышеупомянутый.

2) Подучить JQuery и попробовать самому начать писать код. И если что не получатся пишем сюда, по ходу вашей разработки мы(форумчане) как коллеги поможем своими знаниями. Только не делайте так:
var e = '';
Чё дальше?...

3) Обратиться в раздел форума работа... Всё что душе угодно, только денежку плати:)

Ах да, чуть не забыл, если вам это поможет http://javascript.ru/ui/tree

mmfStudent 26.08.2010 19:43

Цитата:

Сообщение от sysya (Сообщение 68653)
Ах да, чуть не забыл, если вам это поможет http://javascript.ru/ui/tree

Спасибо, это именно то что я хотел. Ну не совсем, но xml в состоянии распарсить. Все задуманое получилось и даже чуть лучше :). Спасибо!:p

Розарий 01.09.2010 03:50

Не работают ссылки в JsTree
 
Есть вопрос по JsTree...

Скажите пожалуйста, как сделать "листья" древовидного меню ссылками?
Сделал меню на JsTree, но ссылки в его элементах ведут на "http://текущую_страницу#". :(

Читал документацию, но про ссылки в элементах дерева ничего не нашел. Пробывал JSON:
var jsTreeJson = [
{
	"attr":{"id":"node_1","rel":"default"},
	"data":"Промышленные товары",
	"state":"",
	"href":"\/catalog\/promtovary"
},{
	"attr":{"id":"node_2","rel":"default"},
	"data":"Мясо и рыба",
	"state":"",
	"href":"\/catalog\/myaso-i-ryba"
},{
	"attr":{"id":"node_3","rel":"folder"},
	"data":"Овощи и фрукты",
	"state":"closed",
	"children":[
	{
		"attr":{"id":"node_4","rel":"default"},
		"data":"Овощи",
		"state":"",
	"href":"\/catalog\/ovoshi"
	},{
		"attr":{"id":"node_5","rel":"default"},
		"data":"Фрукты",
		"state":"",
	"href":"\/catalog\/frukty"
	}]
}];

, но не помогло. Как решить?
З.Ы. Может быть где-то уже есть дерево с ссылками? Если найдёте - дайте ссылку на него.
Заранее большое спасибо.

Розарий 01.09.2010 04:21

Ураааа, заработало!))) :dance:
var jsTreeJson = [
	{
	    "attr":{"id":"node_1","rel":"default"},
	    "data":{"title":"Промышленные товары","attr":{"href":"\/catalog\/promtovary"}},
	    "state":""
	}]
Спасибо дяде с блогом за подробный полезный рассказ :) .
А ещё большое спасибо мне :D. Надеюсь кому-то поможет.

Upd: Ccылки в сгенерированном дереве могут не работать. Решение проблемы довольно простое:
$("#JsTree a").click(function() {
		document.location.href = $(this).attr('href');
	});


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