событие на нажатие кнопки
в ext designer набросала форму редактора формулы.что-то вроде калькулятора.мне надо чтобы при нажатии например кнопки с значение "1" в текстовой строке появилось значение "1".extjs начала изучать недавно..очень срочно надо!!!!!!!!:help:
вот что пока сделала: MyWindow = Ext.extend(MyWindowUi, { initComponent: function() { MyWindow.superclass.initComponent.call(this); this.findById("save").on("click", function(button, event) { Ext.MessageBox.show({ title:'Сообщение', msg: 'Сохранить?', buttons: Ext.MessageBox.OKCANCEL, animateTarget: 'mb4', icon: Ext.MessageBox.QUESTION }); }); this.findById("cancel").on("click", function(button, event) { Ext.MessageBox.show({ title:'Сообщение', msg: 'Отменить?', buttons: Ext.MessageBox.OKCANCEL, animateTarget: 'mb4', icon: Ext.MessageBox.QUESTION }); }); } }); заранее очень благодарна! |
Ну может как-то так:
new Ext.Window({ title: 'Калькулятор', layout: 'fit', width: 700, height: 550, buttons: [{ text: '1', handler: function(){ Ext.getCmp('id-field').setValue(+'1'); },{ text: '2', handler: function(){ Ext.getCmp('id-field').setValue(+'2'); } }] }); И если вы только начали не учите 3-й. Учите 4-й ExtJS |
ane4ka,
судя по коду, вы очень любите jQuery)) а вот так this.findById("save")в ExtJS 4+ не прокатит)) можно как-то так: Ext.create('Ext.window.Window', { title: 'Калькулятор', width: 300, setInputValue: function(v){ var input = this.down('textfield'); input.setValue(input.getValue()+v); }, setSumResult: function(){ var input = this.down('textfield'), arr = input.getValue().split('+'), val = 0; for(var i=0; i<arr.length; i++){ val+=parseInt(arr[i]); } input.setValue(val); }, height: 300, buttons: [ { text: '1', handler: function(){ this.up('window').setInputValue(this.text); } }, { text: '2', handler: function(){ this.up('window').setInputValue(this.text); } }, { text: '+', handler: function(){ this.up('window').setInputValue(this.text); } }, { text: '=', handler: function(){ this.up('window').setSumResult(); } } ], items: [ { layout: 'table', items: [ { xtype: 'textfield', hideLabel: true } ] } ] }).show(); |
Цитата:
|
+1. Цепочки - это, блеать, особенность JS, а не jQuery!
|
Цитата:
я просто указал что в ExtJS 4 такого метода нет, ибо он является устаревшим. Цитата:
setHandler здесь применяться должен... |
Цитата:
насмешил... |
спасибо всем большое!очень помогли:)
и не ссорьтесь))) |
nekto_O, я имел в виду, что это не jQuery позволяет реализовывать цепочные вызовы, а сам язык. Про другие языки я вообще не слова не сказал. Думаю, спорить больше не о чем)
|
Цитата:
Цитата:
upd и вообще само определение "цепочки" бред... |
Часовой пояс GMT +3, время: 12:49. |