1
我剛打出另一篇文章,並在中途找到了我的問題。讓我們看看它是否再次發生。ExtJS:以編程方式替換組合框中的元素
我需要能夠更新另一個下拉列表,如果給定的選擇。我的問題是第一次下載沒有加載,頁面上沒有任何反應。如果用戶第二次選擇相同的元素,那麼一切正常。
我編程生成一串組合框的:發生
var item = new Ext.form.ComboBox({
store: store,
id: input.id,
name: input.id,
displayField: 'description',
valueField: 'id',
mode: 'local',
forceSelection: true,
triggerAction: 'all',
emptyText: 'Select one...',
typeAhead: false,
editable: true,
allowBlank: allowBlank,
selectOnFocus:true,
fieldLabel: input.label,
listeners: {
scope: this,
'select': checkDependencies
},
autoHeight: true
});
我的問題,當我嘗試更新下來的依賴下降。下面是被調用當用戶選擇一個選項的功能:
function checkDependencies(el, ev){
debug(el);
debug(el.value);
var val = el.value;
if (Ext.isArray(dependencies[val])) {
var id = dependencies[val]['changeId'];
var input = Ext.getCmp(id);
var vals = dependencies[val]["vals"];
input.store.removeAll();
gridForm.doLayout();
debug("num elements: " + vals.length);
input.autoHeight = true;
for (var i=0;i<vals.length;i++) {
input.store.add(vals[i]);
}
gridForm.doLayout(false,true);
}
}
它擊中所有調試行。列表中有元素,但正如我所說的,用戶第一次選擇元素不起作用,但隨後的選擇正常工作。
我最終把doLayouts eveywhere,但它似乎沒有幫助。
* headdesk *是 - 這樣做。謝謝。 – jeffkolez