ExtJS 组合框过滤器

ExtJS combobox filter

我有两个组合框。第一个用于选择地区,第二个用于选择。应显示在省组合框中的值将基于在区域组合框中选择的值。

区域组合框代码:

xtype: 'combobox',
label: 'Region ID',
margin: '10 20',
flex: 1,
valueField: 'regionid',
displayField: 'regionname',
store: 'RegionStore',
minLength: 1,
id: 'region_id',
reference: 'region_id',
name: 'region_id',
listeners: {
  select: function(combo, value) {
    var id = Ext.getCmp('province'),
    store = id.getStore();

    if (!value) {
      store.getFilters().removeAll();
    } 
    else {
      store.filter('regionid', val)
    }
  }
}

省组合框代码:

label: 'Province',
margin: '10 20',
flex: 1,
queryMode: 'remote',
store: 'ProvinceStore',
valueField: 'provinceid',
displayField: 'provincename',
minLength: 1,
id: 'province',
name: 'province',
reference: 'province'

我没有收到任何错误,但是当我点击省份组合框时(假设我已经为区域组合框选择了一个值),省份组合框中显示的值没有被过滤,相反,所有显示结果。我已经研究了好几天了。有人可以帮忙吗?

您正在使用queryMode: 'remote',因此您的服务器returns数据。 前端管不了,返回什么。

加上你的例子 val 应该是 value.

我会去连锁店,它有一个基于选择的过滤器。

这是一个 fiddle 来展示这一点: Fiddle

这与

重复