EXT JS -зависимая комбо -коробка
-
10-10-2019 - |
Вопрос
Я новичок в extjs и пытаюсь реализовать следующую функциональность:
У меня есть два выбранных выпадающих меню, преобразованные с использованием EXTJ. Как я могу убедиться, что если выбран значение в одном комбо -поле выбрано, другое значение должно быть установлено к какому -то значению по умолчанию?
Спасибо.
Отредактировано: код до сих пор:
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>
Решение
Отредактировано - я не использовал CFM ... Вам нужно выяснить, как загрузить ваш CF, используя хранилища данных, чтобы использовать эту технику.
Вам нужно будет добавить слушателя для события Select в комбо:
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}});
}
В основном вы делаете следующее:
- Выбрать значение в первом комбо
- Получите ссылку на магазин данных второй комбо
- Перезагрузить магазин второго комбо -коробки с помощью выбранного значения из первой комбо
Не связан с StackOverflow