| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Общие вопросы > Ассоциативный массив |
| Автор: izOne 23.3.2005, 17:20 | ||
Как правильно сделать следующее:
т.е. положить в элемент массива массив с строковыми ключами. |
| Автор: Aliance 23.3.2005, 19:42 | ||
Что требуется-то? Многомерный массив? Вот он:
|
| Автор: Sardar 23.3.2005, 19:57 | ||||
izOne это будет не совсем массив:
Но дерево лучше записать не так, я для нешего FAQ'a структуру меню отсылал в таком виде дерева обьектов. Каждый узел имеет свойство subtree, массив всех подузлов/листьев:
Видим корень, в массиве subtree все дочерние узлы, которые тоже могут иметь поддеревья. |
| Автор: izOne 23.3.2005, 23:04 | ||||||
Aliance
положить в элемент массива массив с строковыми ключами. На PHP это выглядит следующим образом:
Используется дерево NestedSet. Отсортировав массив по ключу "left", получаем правильное дерево. Сейчас стоит задача: сделать визуальный редактор этого дерева, т.е. перемещение, удаление, добавление элементов посредством браузера и мыши. Можно конечно после кадожго event'a посылать запрос на сервер, там скриптом обрабатывать, и посылать новую страницу клиенту, но это долго. Сейчас хоче сделать нечто следующее: при каждом event'e пишется в переменную лог действий, напр.:
Потом при нажатии кнопки это дело посылается скрипту, который уже и делает конечные манипуляции с БД. Есть идеи? Может есть готовые решения? |
| Автор: Sardar 24.3.2005, 00:54 | ||
| Значит не нужно просто передать данные на клиент, да так что бы под всеми браузерами, ты бы задачу полней выкладывал Делай XML файл, в нём создавай все необходимые ноды. При работе используй XPath для выборок конкретных нод. Реализовывать это всё на JS в ручную запаришся
Далее методами DOM редактируем дерево и XPath выборки. |
| Автор: izOne 24.3.2005, 01:59 | ||
| Sardar Мне кажется предложенный вариант я не потяну: я в JS с трудом плаваю К тому же, по-моему, Gecko-браузеры ActiveX не поддерживают. Может я ошибаюсь.
Сначла все перемещается правильно, но потом дерево рушится. Если у кого-нибудь будет время и желание потестить и выловить баг - буду благодарен. |
| Автор: Sardar 24.3.2005, 02:08 | ||||
Самому всё реализовывать не особо нужно
Там два варианта, для мозиллы и для ИЕ. К счастью интерфейс у конечных обьектов одинаковый, обращаемся к xmlDoc.documentElement и вперёд, по стандартам DOM, как ты бы это сделал в любом другом языке. С помощью XML документа будет проще, у тебя готовая структура, которую довольно просто редактировать. В конце генеришь по дерево код обратно, либо отсылаешь XML данные на сервер, что будет лучше. |
| Автор: Gorcer 6.4.2005, 12:19 | ||
а вы немоглибы привести пример обращения к какойнибудь ветви или атрибуту ветви через DOM в javascript Добавлено @ 12:22 какие там базовые методы, функции и атрибуты? |
| Автор: Aliance 6.4.2005, 12:47 |
| Gorcer http://www.adaptivepath.com/publications/essays/archives/000385.php (за ссылку говори спасибо Sardar) Добавлено @ 12:51 Еще полещно почитать официальную доку: http://support.microsoft.com/default.aspx?scid=kb;en-us;234486 http://support.microsoft.com/default.aspx?scid=kb;en-us;285081 |
| Автор: Sardar 6.4.2005, 18:56 |
| Gorcer создавай новый топик с отдельными вопросами Aliance поддержка XML и обьект XMLHTTPRequest это немного разные вещи, второй используется для коммуникаций клиента с сервером. Gorcer те же методы(document.createElement и т.п.) что и в HTML документе + поддержка XPath. Подзагрузка документов: http://www.quirksmode.org/dom/importxml.html, получаем обьект Document, затем отркываем: http://www.w3.org/DOM/ и читаем что же можно со всем этим сделать. |