【问题标题】:Get Value Combobox ExtJs From View to Controller从视图到控制器获取值组合框 ExtJs
【发布时间】:2014-11-20 01:48:53
【问题描述】:

我不知道如何从 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);
    },

结果只是显示警报而不显示组合框值。任何人都可以帮我解决它吗?

【问题讨论】:

    标签: javascript extjs view combobox controller


    【解决方案1】:

    我认为这应该可行..

    var a=combo[0].getValue();
    

    在我看来,“.down”方法是查询方法,它返回一个带有匹配选择器的 Ext 组件数组。因此,需要 index 来获取组合框的值。

    【讨论】:

      【解决方案2】:

      试试这个,它会起作用的。使用来自 EXT/DOM 的组件/元素的 ID,它提供了从任何位置访问任何元素的功能。Ext.getCmp() 有助于根据分配给组件的 ID 搜索元素。

      var combo=Ext.getCmp('pilih'); var a=combo.getValue(); Ext.Msg.alert("Produk yang anda Pilih",a);

      【讨论】:

      • 这已被标记为低质量。也许您应该添加一些关于您的代码的确切作用的解释,或者您的答案可能会被社区删除。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-14
      • 2020-10-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多