我是ExtJS的新手,我尝试用一个按钮发送值到一个新窗口,我做了一些例子,他们没有工作,在这个例子中我认为,我差不多完成了,但这也没有用,我的错误或错误是什么?
var win = function (msg) {
Ext.create('Ext.Window', {
title: msg,
...// here my window
}); this.show;
};
var btnAction = Ext.create('Ext.Button', {
text: 'Add Something',
listeners: {
click: function() {
var rec = grid4.getSelectionModel().getSelection()[0];
if (rec) {
win(rec.get('price'));
} else {
alert('Please select a company from the grid');
};}}
});
答案 0 :(得分:1)
我不确定在将price
发送到窗口之后您尝试做什么。{1}}但您可以使用up()
和down()
方法访问该窗口中的字段。
例如
var btnAction = Ext.create('Ext.Button', {
text: 'Add Something',
listeners: {
click: function() {
var rec = grid4.getSelectionModel().getSelection()[0];
if (rec) {
win.down('textfield[name=priceField]').setValue(rec.get('price'));
} else {
alert('Please select a company from the grid');
};}}
});
此外,您是否以这种方式创建窗口?
var win = function (msg) {
Ext.create('Ext.Window', {
title: msg,
...// here my window
}); this.show;
};
我通常这样做......
var win = Ext.create('Ext.Window',{
title:msg,
....//
}).show();
我之前提到的访问windows字段的方法可能需要像这样创建它。
答案 1 :(得分:1)
this.show
是一个功能。函数执行方式如下:this.show();
小心,因为现在你可以在同一个按钮上点击10次,每次都打开一个新窗口......不知道那是不是你想要的......
这里是fiddle
var win = function (msg) {
var win = Ext.create('Ext.Window', {
title: msg
// here my window
});
win.show();
return win;
};
var btnAction = Ext.create('Ext.Button', {
text: 'Add Something',
listeners: {
click: function () {
var rec = grid4.getSelectionModel().getSelection()[0];
if (rec) {
win(rec.get('price'));
} else {
alert('Please select a company from the grid');
}
}
}
});