ExtJS:从组合中的选定商店获取信息

Posted

技术标签:

【中文标题】ExtJS:从组合中的选定商店获取信息【英文标题】:ExtJS: Fetching information from selected store in combo 【发布时间】:2013-06-08 03:43:57 【问题描述】:

我有以下 ExtJS 文本字段,它存在于一个表单中。我有一家店叫 store_Product 通过 ajax 代理获取数据并将它们建议到 PCODE 字段。

实际上这家商店还有很多其他字段,例如price,color,size等等。 我正在尝试在此字段上设置一个 onchange 侦听器,以便当用户选择 PCODE 时,它将其他信息(所选产品的)传递到页面中的其他字段。

下面的代码有效。 console.log(store_Product.data) 正确地从模型中获取数据。 但是,获取的数据是整个商店的数据。我只想要一个被选中的。我将如何更改此代码来做到这一点。

            
                fieldLabel: 'PCODE  ',
                name: 'pcode',
                typeAhead: true,
                xtype: 'combo',
                store: store_Product,
                displayField: 'pcode',
                valueField: 'pcode',
                allowBlank:false,
                minChars:1,
                forceSelection:true,
                hideTrigger:true,
                queryDelay: 0,
                listeners:
                   change: function(combo,value)
                       console.log(store_Product.data)
                   
                
            

谢谢。

【问题讨论】:

【参考方案1】:

当然它会记录一切。您是否尝试过查看您在处理程序中收到的value

change: function(combo, value) 
   console.log(value);
   var idx= store_Product.find('pcode', value),
       record = store_Product.getAt(idx);

   console.log(record);

【讨论】:

【参考方案2】:

如果pcode是你记录的id,你可以使用Store.getById

store_Product.getById(value)

【讨论】:

以上是关于ExtJS:从组合中的选定商店获取信息的主要内容,如果未能解决你的问题,请参考以下文章

如何从 EXTJS 中的委托事件中获取记录?

商店上的 extjs 组合框 getCount() 返回 0

如何从 Extjs4 中的商店获取字段类型?

Extjs - 从商店中删除新添加的选定项目

ExtJS:过滤网格面板,但不是商店?

获取选定行的 ExtJS4 可编辑网格返回空