views:

20

answers:

1

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;
                        }
                });
            }
A: 

No

break;

in the first case. Doh!

Scott