Sencha ExtJS 4链接的组合框问题
Sencha ExtJS 4 Linked Combobox Issue
我正在试验ExtJS 4 Combobox AJAX Store中的一个bug。
我有一个包含文章的网格,每个文章都有一个供应商和一个类别,每个供应商提供属于某个类别的文章。为了过滤网格,我放置了2个组合(选择列表)。一个用于供应商,一个用于类别。这些组合通过AJAX从php脚本中获取它们的值。
一切都很顺利,直到我尝试像这样链接组合:
当用户从组合框中选择类别时,供应商商店将刷新提供该类别的供应商(效果良好!)。
用户从组合框中选择供应商,类别商店刷新(刷新很好,如firebug所示)。
我现在的问题是,如果用户再次选择类别组合框,加载掩码不会消失,因此无法更改组合框的值。
我已经测试过了,AJAX运行良好,它只是加载掩码的EXTJS 4问题。
问题是双向发生的:
A)
1.用户选择一个类别
2.用户选择供应商
3.用户无法选择类别(加载掩码不会消失)
与
B)
1.用户选择供应商
2.用户选择一个类别
3.用户无法选择供应商(加载掩码不会消失)
编辑:
问题似乎也发生在这些情况下(反之亦然:供应商->类别)
1.用户选择一个类别
2.用户更改类别
3.用户无法选择供应商(加载掩码不会消失)
以下是我的型号:
Ext.define('Category', {
extend: 'Ext.data.Model',
fields: [
{ name: 'name'},
{ name: 'id'}
]
});
Ext.define('Supplier', {
extend: 'Ext.data.Model',
fields: [
{ name: 'name'},
{ name: 'id'}
]
});
这是我的商店:
var categoryStore = Ext.create('Ext.data.Store', {
model: 'Category',
autoLoad: true,
remoteSort: true,
proxy: {
type: 'ajax',
url: 'GetCategorysForSupplier',
reader: {
type: 'json',
root: 'items'
},
extraParams: {
supplier: 0
}
}
});
var supplierStore = Ext.create('Ext.data.Store', {
model: 'Supplier',
autoLoad: true,
remoteSort: true,
proxy: {
type: 'ajax',
url: 'getSuppliersForCategory.php',
reader: {
type: 'json',
root: 'items'
},
extraParams: {
category: 0
}
}
});
下面是我的组合:
var categoryFilterCombo = Ext.create('Ext.form.field.ComboBox', {
xtype: 'combo',
store: categoryStore,
displayField: 'name',
valueField: 'id',
fieldLabel: 'Category Filter',
listeners: {
change: function(field,newVal) {
if (Ext.isNumeric(newVal)) {
supplierStore.proxy.extraParams.category = newVal;
articleStore.proxy.extraParams.category = newVal;
supplierStore.load();
articleStore.load();
}
}
}
});
var supplierFilterCombo = Ext.create('Ext.form.field.ComboBox', {
store: supplierStore,
displayField: 'name',
queryMode: 'local',
valueField: 'id',
fieldLabel: 'Supplier Filter',
listeners: {
change: function(field,newVal) {
if (Ext.isNumeric(newVal)) {
categoryStore.proxy.extraParams.supplier = newVal;
articleStore.proxy.extraParams.supplier = newVal;
categoryStore.load();
articleStore.load();
}
}
}
});
诚挚的问候,
Dan Cearnau
在这里查找答案:http://www.sencha.com/forum/showthread.php?152324-4.0.7-组合箱-带装载-掩码
ldonofrio说:这是一个4.0.7的错误,似乎在4.1pr 中得到了解决
我的覆盖PHP代码:
Ext.override(Ext.LoadMask, {
onHide: function() { this.callParent(); }
});
- 在指令控制器中使用$attrs时出现问题
- 将PHP变量传递给jQuery时遇到问题
- Canvas Html5绘图应用程序,移动画布会导致重大问题
- 参数变量出现ngTable指令问题
- 解析.查询和组合问题
- PHP 和 JavaScript 组合变量问题
- jQuery 选择错误:添加新的选择字段并对其进行组合时出现问题
- ExtJS4 组合框加载/存储问题
- 组合两个脚本以在所有浏览器上保存Google图表时出现问题
- 按键组合的Wierd问题
- jQuery组合框//向下箭头问题
- 谷歌图表-组合图表示例问题
- Sencha ExtJS 4链接的组合框问题
- 在Wordpress中组合jQuery和.php时出现问题
- 数组组合以解决遍历问题
- 通过组合钩子旋转图层的问题
- Rich Faces中的组合框大小问题
- jQuery-mobile和ASP.NET组合问题
- 将悬停事件绑定到组合框项时出现问题
- DHTMLX组合问题