我在同一页面上打开了一个组合框和一个窗体窗口。 组合框代码是:
combo1 = new Ext.form.ComboBox({
fieldLabel: 'Intrested in',
hiddenName: 'interest',
store: new Ext.data.Store({
proxy: new Ext.data.HttpProxy({
url: 'ajax.php',
method: 'GET'
}),
reader: new Ext.data.JsonReader({
root: 'rows',
fields: [{
name: 'myId'
}, {
name: 'displayText'
}]
})
}),
valueField: 'myId',
displayField: 'displayText',
triggerAction: 'all',
emptyText: 'Select',
selectOnFocus: true,
editable: false
});
第一次正确加载从SQL表中获取的列表。
在同一页面上有一个窗口,其中包含向sql数据库提交新值的简短表单, 但在提交并打开组合框后,列表不会刷新。
只有在再次提交表格后,我才能看到之前添加的值。
为什么第一次提交后组合框不会自动重新加载?
答案 0 :(得分:4)
这里的问题是,combobox在内部缓存所谓的“最后一个查询” - 如果没有改变,它不会从商店重新加载其数据。所以解决方案是重置这个“最后查询”参数:
combo1.lastQuery = null;