Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 31.01.2012, 17:48
Аватар для Tim
Tim Tim вне форума
Профессор
Отправить личное сообщение для Tim Посмотреть профиль Найти все сообщения от Tim
 
Регистрация: 05.06.2009
Сообщений: 1,703

select элемента
Есть окно в котором Grid с тулбаром. Нужно активировать и деактивировать кнопки. Сейчас делаю так: присваиваю каждой кнопке id и использую ф-ю Ext.getCmp:
grid.getSelectionModel().on('selectionchange', function(sm){
	
	Ext.getCmp('id').setDisabled(sm.getCount() < 1);
});

Существует какой-то более красивый способ? Хочется как-то так grid.child(1)
__________________
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
Самые главные в жизни вещи - не вещи! (было написано на одном гараже =)
Ответить с цитированием
  #2 (permalink)  
Старый 31.01.2012, 22:00
С++/C# modest developer
Отправить личное сообщение для nekto_O Посмотреть профиль Найти все сообщения от nekto_O
 
Регистрация: 07.11.2011
Сообщений: 244

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>пример</title>
<script type='text/javascript' src='http://docs.sencha.com/ext-js/4-0/extjs/ext-all.js'></script>
<link rel="stylesheet" type="text/css" href="http://docs.sencha.com/ext-js/4-0/extjs/resources/css/ext-all.css">
<script>
Ext.onReady(function() {
var data = [
    {
        id: 1,
        name: 'Andrew',
        age: 20
    }, {
        id: 2,
        name: 'Alex',
        age: 43
    }
];
    
var store = Ext.create('Ext.data.Store', {
    data: data,
    autoLoad: true,
    fields: [
        { name: 'id', type: 'int' },
        { name: 'name', type: 'string' },
        { name: 'age', type: 'int' },
        { name: 'orders' }
    ]
});
 
var grid = Ext.create('Ext.grid.Panel', {
    title: 'Demo',
    tbar: [
      { xtype: 'button', text: 'Button 1' },
      { xtype: 'button', text: 'Button 2' },
      { xtype: 'button', text: 'Button 3' }
    ],
    renderTo: Ext.getBody(),
    store: store,
    columns: [
        { dataIndex: 'id', hidden: true, hideable: false },
        { dataIndex: 'name', header: 'Name' },
        { dataIndex: 'age', header: 'Age', flex: 1 }
    ]
});
grid.getSelectionModel().on('selectionchange', function(sm){
    // Находим все баттоны
    var buttons = grid.query('button'),
        rec = sm.getLastSelected();
    // Например:
    buttons[0].setDisabled(rec.get('age')>20);
});
});
</script>
<body>
</body>
</html>
Ответить с цитированием
  #3 (permalink)  
Старый 01.02.2012, 11:08
Аватар для Tim
Tim Tim вне форума
Профессор
Отправить личное сообщение для Tim Посмотреть профиль Найти все сообщения от Tim
 
Регистрация: 05.06.2009
Сообщений: 1,703

Спасибо. Только всё равно тут query хоть и из меньшего объёма элементов. Неужели не существует такого способа: grid.panel[0].button[0]
__________________
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
Самые главные в жизни вещи - не вещи! (было написано на одном гараже =)
Ответить с цитированием
  #4 (permalink)  
Старый 01.02.2012, 11:42
С++/C# modest developer
Отправить личное сообщение для nekto_O Посмотреть профиль Найти все сообщения от nekto_O
 
Регистрация: 07.11.2011
Сообщений: 244

Сообщение от Tim
Только всё равно тут query хоть и из меньшего объёма элементов
ну можете например отдельно создать тулбар:
var tbar = Ext.create('Ext.toolbar.Toolbar', {
    items: [
        { xtype: 'button', text: 'Button 1' },
        { xtype: 'button', text: 'Button 2' },
        { xtype: 'button', text: 'Button 3' }
    ]
});

а затем работать напрямую с ним:
var elems = tbar.getRefItems();
Ответить с цитированием
  #5 (permalink)  
Старый 01.02.2012, 15:33
Аватар для Tim
Tim Tim вне форума
Профессор
Отправить личное сообщение для Tim Посмотреть профиль Найти все сообщения от Tim
 
Регистрация: 05.06.2009
Сообщений: 1,703

nekto_O,
спасибо за помощь
__________________
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
Самые главные в жизни вещи - не вещи! (было написано на одном гараже =)
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сохранить предыдущее значение select? MaxD Общие вопросы Javascript 3 21.07.2011 12:36
Перезагрузка страницы при выборе элемента из select Tuzzulino AJAX и COMET 2 13.07.2011 12:00
Проблема с динамическим формированием select elepsion jQuery 1 31.10.2010 14:31
динамический select. Не отображаются сгенерированные элементы списка в IE8 mrDeko Общие вопросы Javascript 1 30.08.2010 10:10
эмуляция события click для элемента select Polo Events/DOM/Window 4 16.12.2009 13:29