So I have a dropdown setup on the page called ddlVehicleType that is populated from a store. This method gets called when another dropdown is changed, and it's supposed to remove all items from the aforementioned store, re-add them as needed, and then populate the dropdown with the new values.
It's doing everything it's supposed to EXCEPT clearing the store before it re-adds the values, so the result is, when I switch, I'm getting what it used to be PLUS the new values that should be in there by themselves.
Here is the weird thing though, when I switch back, the values are removed without re-adding anything. Can anyone tell me what I'm doing wrong? Method is below:
function filterVehicleTypes() {
var masterStore = Global.getComponent("vehicleTypeStore").getStore();
var Source = Global.getComponent("ddlValuationSource").getRawValue();
var isIncuded = '';
var IncludeFlags = '';
if (Source == undefined || Source == null)
Source = '';
Global.getComponent("ddlVehicleType").getStore().removeAll(false);
masterStore.each(function(rec) {
switch (Source.toUpperCase()) {
case 'KBB':
if (rec.get('Code') == 'KBB') {
Global.getComponent("ddlVehicleType").store.add(rec);
}
case 'NADA':
IncludeFlags = rec.get('MiscCode1');
if (IncludeFlags != null) {
isIncuded = IncludeFlags.substr(1, 1);
if (isIncuded == 'Y' && rec.get('Code') == 'NADA') {
Global.getComponent("ddlVehicleType").store.add(rec);
}
}
break;
default:
IncludeFlags = rec.get('MiscCode1');
if (IncludeFlags != null) {
isIncuded = IncludeFlags.substr(0, 1);
if (isIncuded == 'Y') {
Global.getComponent("ddlVehicleType").store.add(rec);
}
}
break;
}
});
}