我在extjs中创建了两个链接的组合框,使用json/ajax/php获取数据。当在第一个组合框中选择一个值(汽车制造商)时,第二个组合框会使用该制造商下的车型进行自我更新,例如,在第一个联合框中选择丰田会使用诸如avensis、corolla、premio、ist等值更新第二个。
第一问题是,当我在第一个组合中选择一个项目,例如“丰田”,然后在第二个组合中选中“复仇”,然后换到另一个制造商,例如梅赛德斯-奔驰。如果梅赛德斯旗下有车型,例如C200、E500等,它们将在第二个组合中显示,但之前选择的值“avensis”仍然与第一个组合中选择的值相同。如何清除该值?
第二如果返回的json没有值,则第二个组合值不变。如果返回的json有空值,如何使第二个组合框为空?下面是我的代码片段:
xtype: 'combo',
name: 'auto_make',
id: 'auto_make',
fieldLabel: 'Auto Make',
store: auto_make_store,
queryMode: 'local',
displayField: 'name',
valueField: 'id',
listeners: {
"select": function(obj){
var makeid = obj.getValue();// value of selected combo item
Ext.Ajax.request({
url: '../includes/dhx_dataview.php?action=15&mk='+ makeid +'&sc=' + subid + '&ac=' + cat,
success: function (response) {
var data = Ext.decode(response.responseText).models;
auto_model_store.loadData(data);
//Do I clear/ refresh second combo here? How?
}
});
}
}
Thnx和rgds。
2条答案
按热度按时间lztngnrs1#
你可以尝试这样做-这将重新加载你的组合框
jm81lzqq2#
您可以尝试将forceSelection:true添加到组合框中。这将要求所选值存在于绑定存储中。