Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.04.2014, 15:54
Аспирант
Отправить личное сообщение для adamenko.artem Посмотреть профиль Найти все сообщения от adamenko.artem
 
Регистрация: 29.01.2013
Сообщений: 49

Изменить все элементы дерева
Есть дерево
for (var i=0; i<= buses.length-1; i++) {
                    objects.push(new Object({
                        text: buses[i].name_,
                        itemId:buses[i].obj_id_,
                        name:buses[i].proj_id_,
                        leaf: true,
                        checked: false
                    }));                
                }
                /*store для дерева*/
                var store = Ext.create('Ext.data.TreeStore', {
                    root: {
                        expanded: true,
                        children: objects
                    }
                });
                
                var window = Ext.getCmp('detailReport');
                var treePanel = Ext.getCmp('tree_panel');
                /*Само дерево*/
                var panel = Ext.create('Ext.tree.Panel', {
                    title: 'Автобусы',
                    width: 200,
                    height: 350,
                    store: store,
                    rootVisible: false,
                    region: 'west',
                    id: 'tree_panel'
                });

Мне надо чтобы, по нажатию кнопки все элементы были checked и наоборот были незачеканы.
Получить зачеканные в ручную элементы я могу. есть метод Checked()
Может есть методы для полученя всех элементов и вызова у них методов Check() или в ручную их перебрать и поставить им checked:true
Ответить с цитированием
  #2 (permalink)  
Старый 15.04.2014, 16:12
Аватар для Makarov
Профессор
Отправить личное сообщение для Makarov Посмотреть профиль Найти все сообщения от Makarov
 
Регистрация: 08.07.2013
Сообщений: 212

Не имел тесно дела с TreeStore, но думаю можно попробовать сделать свой метод each, рекурсивно обойдя дерево с помощью метода eachChild
Ответить с цитированием
  #3 (permalink)  
Старый 19.04.2014, 06:21
Профессор
Отправить личное сообщение для siber-biber Посмотреть профиль Найти все сообщения от siber-biber
 
Регистрация: 07.08.2013
Сообщений: 214

Для такой мелочи готовые методы не предусмотрены. Есть http://docs.sencha.com/extjs/4.2.2/#...thod-cascadeBy и с его помощью такое делается:
store.cascadeBy(function (node) {
    node.set('checked', true);
})
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
mouseover, mouseout - не распространяется на дочерние элементы barmaley Events/DOM/Window 31 01.06.2017 08:52
Выделить все checkbox с помощью jquery Alyona jQuery 16 17.01.2012 11:44
ajax, history, навигация, адресная строка и индексация. все в одном. firsttinman AJAX и COMET 3 24.10.2011 18:14
глюк форума Gvozd Сайт Javascript.ru 11 18.03.2009 14:37
Как удалить все пустые элементы UL smashercosmo Events/DOM/Window 13 25.02.2009 09:03