【发布时间】:2015-06-26 23:03:48
【问题描述】:
我有一个用 ExtJS 编码的 UI。我希望在页面加载时完成三件事:
- 对检索 HashMap 的服务器进行 ajax 调用。
-
在主页面板内创建一个组合框
var combo = Ext.create('Ext.form.ComboBox', { fieldLabel: 'Choose State', id: 'mycombo', queryMode: 'local', displayField: 'name', valueField: 'id', store: [], renderTo: Ext.getBody() }); -
使用检索到的 HashMap 填充此组合框。
combo.getStore().add([[i, m.get(i)]]);
现在,当页面加载时,我需要执行所有三个 javascript 代码。请建议我该怎么做?
还有一个问题。组合框创建代码位于我在 ExtJS 中编码的主页“面板”的“项目”内。那么当页面加载时我如何以某种方式调用这个创建代码呢?简而言之,我需要将组合框的详细信息存储在 javascript 'var'中
'var combo = Ext.create(....)`
我以后可以使用它来填充组合框。那么如何在页面加载时“调用”“items”中的代码并将其分配给“var”,因为此后我使用 HashMap 使用此“var”填充此组合框。
【问题讨论】:
-
Ext.onReady(function () { // place your code here , in ajax success put the remaining two lies for constructing combo and changing it }); -
感谢您的回答,但第二个问题仍然存在。这个组合框与我在 ExtJS 中编码的页面上的其他 UI 元素一起存在。所以组合框创建代码只能在 extjs 代码的“项目”部分内。在那里我不能运行javascript代码,除非它在一个函数中。如何解决这个问题请指教
标签: javascript ajax extjs combobox