Domanda

Il controllo a discesa a cascata funziona alla grande, tranne per il fatto che non riesco a trovare un modo per ripristinare il lato client a discesa (in Javascript)

La mia configurazione è simile a questa

DD1
DD2
DD3
DD4

ogni DD dipende dal DD precedente e utilizza webservice per caricarli.

Al cambio di DD3 ho bisogno di resettare DD4 ma la selezione precedente rimane.

Questo può essere fatto? Ho provato a cancellare il valore nel controllo input nascosto nascosto (cddTest_ClientState) invano

TIA

È stato utile?

Soluzione

Ecco la soluzione

<asp:DropDownList ID="dd1" runat="server" onChange="ondd1ChangeHandler(this)>
</asp:DropDownList>
<asp:DropDownList ID="dd2" runat="server">
</asp:DropDownList>
<cc1:CascadingDropDown ID="cdd2" runat="server" Category="Cat1"
    ParentControlID="dd1" PromptText="(Select Option)" ServiceMethod="GetOptions"
    ServicePath="Services/GetOptions.asmx" TargetControlID="dd2">
</cc1:CascadingDropDown>

<script type='text/javascript>
    function ondd1ChangeHandler(dd){
        var dd2=$get('dd2');
        dd2.selectedIndex=0;
        var cdd=$find('cdd2');
        if(cdd!=null){
            cdd.set_SelectedValue('','');
            cdd._onParentChange(null,false);
        }
    }
</script>

Spero che questo aiuti

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top