我不知道如何从ExtJs中的控制器获取值。也许有人知道了......在这里帮助我..
这是我的观点 Order_v2.js
formSelectProduct: function(seq, name) {
var panel = {
id: 'card-' + seq,
name: name,
bodyPadding: 10,
items: [{
xtype: 'label',
html: '<h1>Anda mengklik lokasi instalasi.'
}, {
xtype: 'combobox',
fieldLabel: 'Produk',
store: 'Products',
name: 'productId',
mode: 'queryMode',
displayField: 'productName',
valueField: 'productValue',
typeAhead: true,
forceSelection: true,
emptyText: 'Pilih Produk...',
width: 350,
labelWidth:90,
id: 'pilih',
triggerAction: 'all',
margin: '10 0 0 0',
value: '4',
hidden: true
},
{
xtype: 'button',
text: 'Check Feasibility',
action: 'doFeasibility',
margin: '10 0 0 0'
}
我希望从组合框中获取价值,并在点击按钮时显示警报。我在控制器中做了这个功能 这是控制器
refs: [
{ ref: 'formSelectProduct', selector: 'cmsorder > container[name=orderPanel] > form[name=formSelectProduct]' },
.......
this.control({
'cmsorder > toolbar[name=statusBar] > button[action=doCancel]': {
click: this.doCancel
},
'cmsorder > container > form[name=formSelectProduct] > button[action=doFeasibility]': {
click: this.doFeasibility
},
.......
doFeasibility: function() {
var me=this,
formSelectProduct =me.getFormSelectProduct();
var combo=formSelectProduct.down('combobox[name=productId]');
var a=combo.getValue();
Ext.Msg.alert("Produk yang anda Pilih",a);
},
resut只显示没有显示组合框值的警报..任何人都可以帮我修复它吗?
答案 0 :(得分:0)
我认为这应该有效..
var a=combo[0].getValue();
在我看来,“。down”方法是查询方法,它返回一个带有匹配选择器的Ext组件数组。因此,索引将需要获得组合框的值。
答案 1 :(得分:0)
尝试一下它会起作用。使用来自EXT / DOM的组件/元素的ID,它提供访问任何where.Ext.getCmp()的任何元素的功能,有助于根据分配给组件的id来搜索元素。
var combo=Ext.getCmp('pilih');
var a=combo.getValue();
Ext.Msg.alert("Produk yang anda Pilih",a);