extjs+combobox三级联动
时间: 2023-10-05 16:08:15 浏览: 121
在 ExtJS 中实现三级联动的 ComboBox 可以通过监听事件来实现。下面是一个示例代码:
```javascript
Ext.create('Ext.form.field.ComboBox', {
fieldLabel: '省份',
store: provinceStore,
queryMode: 'local',
displayField: 'name',
valueField: 'code',
listeners: {
select: function(combo, record, eOpts) {
// 当选择省份时,更新城市列表
cityStore.clearFilter();
cityStore.filterBy(function(record) {
return record.get('provinceCode') === combo.getValue();
});
cityCombo.clearValue();
}
}
});
var cityCombo = Ext.create('Ext.form.field.ComboBox', {
fieldLabel: '城市',
store: cityStore,
queryMode: 'local',
displayField: 'name',
valueField: 'code',
listeners: {
select: function(combo, record, eOpts) {
// 当选择城市时,更新区县列表
districtStore.clearFilter();
districtStore.filterBy(function(record) {
return record.get('cityCode') === combo.getValue();
});
districtCombo.clearValue();
}
}
});
var districtCombo = Ext.create('Ext.form.field.ComboBox', {
fieldLabel: '区县',
store: districtStore,
queryMode: 'local',
displayField: 'name',
valueField: 'code'
});
```
上述代码中,通过监听 `select` 事件,在选择省份时更新城市列表,在选择城市时更新区县列表。这样就实现了三级联动的效果。
阅读全文