如何在ExtJS Combobox中获取所选displayField的值
如何在ExtJS 3.4 ComboBox中获取所选displayField的值? getValue()返回valueField,但我需要其他值。如果是这种情况如何在ExtJS Combobox中获取所选displayField的值,extjs,extjs3,Extjs,Extjs3,如何在ExtJS 3.4 ComboBox中获取所选displayField的值? getValue()返回valueField,但我需要其他值。如果是这种情况 displayField : 'countryName', valueField : 'countryId', 然后,下面的函数给出了所需的displayField(存储中甚至有1个以上的字段,您也可以获得它们) 获取displayfield或存储中的任何其他字段的方法: var item = getFieldValues(Ext.
displayField : 'countryName',
valueField : 'countryId',
然后,下面的函数给出了所需的displayField(存储中甚至有1个以上的字段,您也可以获得它们)
获取displayfield或存储中的任何其他字段的方法:
var item = getFieldValues(Ext.getCmp('combo'), 'countryId', 'countryName');
combo.getValue()->值字段combo.getRawValue()->显示字段也许你只是用户存储.filter(),对吗?如果出现这种情况,请尝试清除过滤器并再次加载,如下所示:
我正在使用ComboBox的lastSelectionText属性;对我来说很好,但这是一个未记录的功能,因此可能会在任何时候中断
Ext.override(Ext.form.ComboBox,
{
getDisplayValue: function () {
return this.lastSelectionText;
}
});
好的,不管您的案例中有什么
valueField
,您可以澄清您需要什么吗?ComboBox有页面上显示的displayField和提交给脚本的valueField。我需要获取所选项目的displayField的值。为此,没有简单的方法来存档。您可以订阅select事件,但只有当用户单击时才会触发,而不是使用setValue()
设置值。因此,您需要扩展combo类来添加这样的行为。不知道这是否是你的一个选择,但没有其他办法,还有其他办法。调用getRawValue()返回valueField值:(
onProvinceSelected: function (com,record,index)
{
var provinceCode = com.getValue();
var postGrid = this.lookupReference('postgrid');
if (provinceCode != 0) {
postGrid.store.filter('ProvinceCode', provinceCode);
} else {
postGrid.store.filters.clear();
postGrid.getStore().load();
}
}
Ext.override(Ext.form.ComboBox,
{
getDisplayValue: function () {
return this.lastSelectionText;
}
});