Question

Le contrôle de liste déroulante en cascade fonctionne très bien, sauf que je ne parviens pas à trouver un moyen de réinitialiser la liste déroulante côté client (en Javascript)

Ma configuration ressemble à ceci

DD1
DD2
DD3
DD4

chaque DD dépend du DD précédent et utilise le service Web pour les charger.

Lors du changement de DD3 , je dois réinitialiser DD4 , mais la sélection précédente est conservée.

Cela peut-il être fait? J'ai essayé d'effacer la valeur dans le contrôle d'entrée caché supportant (cddTest_ClientState) en vain

TIA

Était-ce utile?

La solution

Voici la solution

<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>

J'espère que cela vous aidera

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top