phantomblue
20 Sep 2007, 6:53 PM
I have two Comboxes A and B. And I want them Chained together.
B's dropdown list display items filtered using the item selected by A.
var updateNameCombo = function(combofield,record){
form_name_combo.enable();
form_name_combo.clearValue();
form_name_combo.store.filter('prodid',record.get('id'),true);
}The probelm lies in: It fails at the first time I selected an item from A, then I click
to show the drop down list of B. This time, B is not get filtered.
Then I select an item from A again, this time B will get filtered correctly.
Am I missing something here?
Here is the code.
var form_kind_combo=new Ext.form.ComboBox({
fieldLabel: '类别',
hiddenName: 'proid',
allowBlank:false,
store: proidds,
valueField:'id',
displayField:'name',
typeAhead: true,
editable: true,
mode: 'local',
triggerAction: 'all',
emptyText:'请选择类别...',
selectOnFocus:true
});
var form_name_combo = new Ext.form.ComboBox({
fieldLabel: '名称',
hiddenName: 'kindid',
allowBlank:false,
store: productds,
valueField:'id',
displayField:'name',
typeAhead: true,
editable: true,
mode: 'local',
triggerAction: 'all',
emptyText:'请选择名称...',
selectOnFocus:true
});
var updateNameCombo = function(combofield,record){
form_name_combo.enable();
form_name_combo.clearValue();
form_name_combo.store.filter('prodid',record.get('id'),true);
}
var namecomboselected = function(combofield,record){
alert(record.get('id') + " " +record.get('name')+" " +record.get('prodid'));
}
form_kind_combo.on('select',updateNameCombo,form_kind_combo);
form_name_combo.on('select',namecomboselected,form_name_combo);
B's dropdown list display items filtered using the item selected by A.
var updateNameCombo = function(combofield,record){
form_name_combo.enable();
form_name_combo.clearValue();
form_name_combo.store.filter('prodid',record.get('id'),true);
}The probelm lies in: It fails at the first time I selected an item from A, then I click
to show the drop down list of B. This time, B is not get filtered.
Then I select an item from A again, this time B will get filtered correctly.
Am I missing something here?
Here is the code.
var form_kind_combo=new Ext.form.ComboBox({
fieldLabel: '类别',
hiddenName: 'proid',
allowBlank:false,
store: proidds,
valueField:'id',
displayField:'name',
typeAhead: true,
editable: true,
mode: 'local',
triggerAction: 'all',
emptyText:'请选择类别...',
selectOnFocus:true
});
var form_name_combo = new Ext.form.ComboBox({
fieldLabel: '名称',
hiddenName: 'kindid',
allowBlank:false,
store: productds,
valueField:'id',
displayField:'name',
typeAhead: true,
editable: true,
mode: 'local',
triggerAction: 'all',
emptyText:'请选择名称...',
selectOnFocus:true
});
var updateNameCombo = function(combofield,record){
form_name_combo.enable();
form_name_combo.clearValue();
form_name_combo.store.filter('prodid',record.get('id'),true);
}
var namecomboselected = function(combofield,record){
alert(record.get('id') + " " +record.get('name')+" " +record.get('prodid'));
}
form_kind_combo.on('select',updateNameCombo,form_kind_combo);
form_name_combo.on('select',namecomboselected,form_name_combo);