如何在 ExtJS 3.4 ComboBox 中获取所选 displayField 的值?getValue() 返回 valueField,但我需要其他。
问问题
29299 次
4 回答
21
combo.getValue() -> valueField
combo.getRawValue() -> displayField
于 2013-05-01T14:26:34.660 回答
6
如果是这种情况,
displayField : 'countryName',
valueField : 'countryId',
然后以下函数给出所需的 displayFiled (即使商店中有超过 1 个字段,您也可以获得它们)
function getFieldValues(combo, nameIn, nameOut){
try{
var r = combo.getStore().find(nameIn,combo.getValue());
return combo.getStore().getAt(r).get(nameOut);
}
catch(err){
return'error';
}
}
获取显示字段或存储中的任何其他文件的方法:
var item = getFieldValues(Ext.getCmp('combo'), 'countryId', 'countryName');
于 2013-01-16T12:15:48.640 回答
0
也许你只是用户 store.filter(),对吧?如果是这样,请尝试清除过滤器并再次加载,如下所示:
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();
}
}
于 2014-09-12T06:06:22.070 回答
0
我正在使用 ComboBox 的 lastSelectionText 属性;对我来说很好,但它是一个未记录的功能,因此可能随时中断......
Ext.override(Ext.form.ComboBox,
{
getDisplayValue: function () {
return this.lastSelectionText;
}
});
于 2015-04-30T10:31:04.423 回答