从视图到控制器获取Value Combobox ExtJs

时间:2014-11-20 01:48:54

标签: javascript extjs view combobox controller

我不知道如何从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只显示没有显示组合框值的警报..任何人都可以帮我修复它吗?

2 个答案:

答案 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);