Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> создание дерева (tree), c использованием checkbox-a 
V
    Опции темы
Edd
Дата 14.11.2007, 16:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 200
Регистрация: 23.3.2006

Репутация: нет
Всего: 1



Нужно создать дерево:

+тема1
+тема2
-тема3
   checkbox1
   checkbox2
+тема4
...
Пример (В цикле):
Код

$strDivCat .= "<div valign=\"right\" style=\"padding-left: {$left_padding}px\">";
$strDivCat .= "<img src=\"gfx/xtree/Lplus.png\" id=\"icon_{$item["id"]}\" width=\"19\" height=\"16\" border=\"0\" onclick=\"toggle_visible({$item["id"]})\" />";
$strDivCat .= "{$item["name"]}<div id=\"children_{$item["id"]}\" style=\"display:none\"></div>";
   for ($i;$i<count($template_c);$i++)
    {
                 $strDivCat .= "<div valign=\"right\" style=\"padding-left: {$left_padding}px\">";
    if ($template_c[$i]["category_id"]==$item["id"] && $template_d[$i]["name"]!="")
    {   
    $strDivCat .= "<input type=\"checkbox\" name=\"cat_id\" value=\"{$template_d[$template_c[$i]["device_id"]]["id"]}\" />";
    $strDivCat .="{$template_d[$template_c[$i]["device_id"]]["name"]}";//."{$template_d[$template_c[$i]["device_id"]]["id"]}";
    }
    $strDivCat .= "</div>";
    }
$strDivCat .= "</div>";
echo $strDivCat;

Дерево отображается как надо, нужно только чтоб оно открывалось и закрывалось по "+" и "-".
Тоесть нужно, чтоби checkbox либо показывались, либо не показывались.
Может использовать для этого "visible"? Как это реализовать?
PM MAIL   Вверх
solenko
Дата 14.11.2007, 19:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1473
Регистрация: 15.1.2006
Где: Украина

Репутация: 9
Всего: 67



использовать element.style.display: none; и element.style.display: block;


--------------------
Ла-ла-ла-ла
Заметьте, нет официального подтверждения, что это не просто четыре слога.
PM MAIL WWW ICQ Skype   Вверх
Castro
Дата 15.11.2007, 00:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 353
Регистрация: 31.8.2007
Где: Украина

Репутация: нет
Всего: 5



visible нельзя использовать, потому что он делает лишь невидимым елемент, но он по прежнему занимает место на странице.
Используйте как писал solenko, element.style.display: none; и element.style.display: block;
Что-то типа 
Код

var el=getElementByID("elemID");
(el.style.display: none)?(el.style.display: block):(el.style.display: none);



--------------------
user posted image
PM MAIL ICQ GTalk   Вверх
Castro
Дата 15.11.2007, 02:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 353
Регистрация: 31.8.2007
Где: Украина

Репутация: нет
Всего: 5



6) toggle()

Если быть полностью честным, вариантов этой функции существует более чем достаточно. По сути, история ‘переключалки’ происходит от скрытия\показа элемента как реакции на событие. Чтобы упростить дело, я тоже написал одну такую функцию. Я не имею в виду, что эта функция считается наилучшей функцией-’переключалкой’, но в ней заложены основы показа и скрытия элемента.
toggle() слова народные


Код

function toggle(obj) {
    
        var el = document.getElementById(obj);
        if ( el.style.display != 'none' ) {
                el.style.display = 'none';
        }
        else {
                el.style.display = '';
        }
}


Это сообщение отредактировал(а) Castro - 15.11.2007, 02:30


--------------------
user posted image
PM MAIL ICQ GTalk   Вверх
Edd
Дата 15.11.2007, 16:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 200
Регистрация: 23.3.2006

Репутация: нет
Всего: 1



Uraaa! smile 
Большое спасибо, дерево работает.
Сделал так:
Код

....
$strDivCat .= "<div valign=\"right\"  style=\"display:none\" id=\"{$item["id"]}\">";
.....

И id посылал в функцию.
PM MAIL   Вверх
Castro
Дата 15.11.2007, 20:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 353
Регистрация: 31.8.2007
Где: Украина

Репутация: нет
Всего: 5



Edd, я и так посмотрю, на нескольких формах паралельно атакуете smile))


--------------------
user posted image
PM MAIL ICQ GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0627 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.