2011-07-20 82 views
1

我在那裏我定義一個組合已經隱藏着一個奇怪的問題隱藏組合框:真,工作正常,但是當我告訴組合框,從中選擇一個值,它隱藏。下面是一些示例代碼:ExtJS的 - 基於其他組合價值

(我使用一些自定義的擴展組合框的,但是這不是問題)

第一組合框:顯示

var bulkImportType = { 
    xtype: 'ibwComboLocal', 
    fields: ['id', 'name'], 
    data: [[1, '3rd Party Tag'], [2, 'Image'], [3, 'Template']], 
    fieldLabel: 'Type', 
    listeners: { 
     'select': function(combo, record, index) { 
      if (record.get('name') == 'Template') { 
       this.bulkImportTemplateCombo.show(); 
      } else { 
       this.bulkImportTemplateCombo.hide(); 
      } 
     }, scope: this 
    } 
}; 

二組合框(僅當第一組合==模板)

var bulkImportTemplate = { 
    xtype: 'ibwComboJson', 
    hidden: 'true', 
    url: 'http://itads-dl06.tweb.aol.com:3080/IBW/templates?returnJson=1', 
    ref: '../bulkImportTemplateCombo', 
    root: 'templateList', 
    fieldLabel: 'Template'   
}; 

隱藏/顯示作品f ine,但似乎當我從「Template」下拉框中選擇一個值時,它會重新啓動配置並隱藏組合框。從表單中的其他組合的值中選擇一個值似乎也是這樣,但只有那些遠程調用(來自返回組合的JSON的URL)。

遠程組合的「重置」窗體配置的任何修復?

編輯:組合框的所有代碼。所有這些只是在FormPanel內部呈現。

var inventorySelectDropdown = { 
    xtype: 'ibwComboLocal', 
    fields: ['id', 'name'], 
    data: [[1, 'O&O'], [2, 'Network']], 
    value: 1, // set to O&O by default 
    fieldLabel: 'Inventory' 
}; 

var bulkImportType = { 
    xtype: 'ibwComboLocal', 
    fields: ['id', 'name'], 
    data: [[1, '3rd Party Tag'], [2, 'Image'], [3, 'Template']], 
    fieldLabel: 'Type', 
    listeners: { 
     'select': function(combo, record, index) { 
      if (record.get('name') == 'Template') { 
       this.bulkImportTemplateCombo.show(); 
      } else { 
       this.bulkImportTemplateCombo.hide(); 
      } 
     }, scope: this 
    } 
}; 

var bulkImportTemplate = { 
    xtype: 'ibwComboJson', 
    hidden: 'true', 
    url: 'xxx', 
    ref: '../bulkImportTemplateCombo', 
    root: 'templateList', 
    fieldLabel: 'Template'   
}; 

var vendorDropdownBulk = { 
    xtype: 'ibwComboJson', 
    url: 'xxx', 
    root: 'vendorList', 
    fieldLabel: 'Vendor' 
}; 

var bulkImportUploadField = { 
    xtype: 'fileuploadfield', 
    fieldLabel: 'Select Import File', 
    width: 400 
}; 
+0

ExtJS的哪個版本您使用的? ExtJS 4不久前發佈,它包含了一些變化和新功能。 – Mark

+0

3.3,目前。我們有一個大型的基礎架構,大約3個,所以我們現在不能升級。 – dmackerman

+0

@dmackerman你可以分享構建本節的代碼嗎?所以我們可以知道那些觸發不好的事件有什麼問題。你提供的配置似乎不包括你寫的所有聽衆我認爲 –

回答

0

在「選擇」聽衆如果循環,顯示()函數調用後,添加以下語句:

this.bulkImportTemplateCombo.setVisible(true)