2010-11-15 5 views
0

Я новичок в ExtJS, и пытаюсь реализовать следующие функции:Ext JS Зависимых выпадающий

У меня есть два выбор выпадающего меню, преобразованные с помощью ExtJS. Как я могу убедиться, что если значение в одном поле со списком выбрано, другое значение должно быть возвращено к некоторому значению по умолчанию?

Спасибо.

Отредактировано: Код до сих пор:

Ext.onReady(function(){ 

var converted = new Ext.form.ComboBox({ 

    typeAhead: true, 
    triggerAction: 'all', 
    transform:'id_Select1', 
    width:600, 
    forceSelection:true, 
    emptyText:'Select' 

}); 

var convertedCdr = new Ext.form.ComboBox({ 
    typeAhead: true, 
    triggerAction: 'all', 
    transform:'id_select2', 
    width:600, 
    forceSelection:true, 
    emptyText:'Select' 
}); 
}); 

Я использую ColdFusion для запроса базы данных и заполнения выпадающего меню:

<cfquery name="getData1" datasource="abc"> 
    SELECT * FROM table1 
</cfquery> 

<cfquery name="getData2" datasource="abc"> 
    SELECT * FROM table2 
</cfquery> 

<select name="select1" id="select1"> 
    <cfoutput query="getData1"> 
     <option value="#getData1.Id#">#getData1.name#</option> 
    </cfoutput> 
</select> 

<select name="select2" id="select1"> 
    <cfoutput query="getData2"> 
     <option value="#getData2.Id#">#getData2.name#</option> 
    </cfoutput> 
</select> 

ответ

3

EDITED - Я не использовал CFM .. вам нужно будет выяснить, как загрузить ваш CF с помощью хранилищ данных, чтобы использовать эту технику.

Вам нужно будет добавить слушателя для выбора события на комбо:

xtype: 'combo', 
id : 'firstComboID', 
listeners: { 
    select: function(combo, record, index) { 
    var selVal = Ext.getCmp('firstComboID').getValue(); 
    var secondCombo = Ext.getCmp('secondComboID'); 
    secondCombo.store.reload({params: {yourParameterName: selVal}}); 
} 

В основном вы делаете следующее здесь:

  1. Получить выбранное значение в первом комбо
  2. Получить ссылку на хранилище данных второго комбо
  3. Обновить магазин второго поля со списком, используя выбранное значение из первого комм бо
+0

Вот код, у меня до сих пор 'Ext.onReady (функция() {вар конвертированы = новый Ext.form.ComboBox ({машинописный: правда, TriggerAction: 'все', преобразование: 'id_Select1 ', width: 600, forceSelection: true, emptyText:' Select '}}); var conversionCdr = new Ext.form.ComboBox ({typeAhead: true, triggerAction: 'all', transform: 'id_select2', width: 600, forceSelection: true, emptyText: 'Select'}); }); У меня есть два drop drops, заполненных из базы данных: Не уверен, что combo.store будет работать в моем случае? – DG3

+0

Можете ли вы отредактировать свой вопрос с исходным кодом, используя форматирование кода в редакторе WYSIWYG, пожалуйста? Куда вы с ваших данных получаете свои данные? Я не вижу никаких параметров конфигурации. –

+0

Я редактировал свой первоначальный вопрос с помощью своего кода. Благодарю. – DG3