2008-09-22 5 views
0

Le contrôle déroulant en cascade fonctionne très bien, sauf que je suis incapable de trouver un moyen de réinitialiser le côté client déroulant (en Javascript)Comment réinitialiser ASP.Net AJAX en cascade contrôle déroulant (côté client)

Mon mis en place est quelque chose comme ça

DD1 
DD2 
DD3 
DD4 

chaque DD dépend de la DD précédente et utilise webservice pour les charger.

Au changement de DD3 je dois réinitialiser DD4 mais la sélection précédente reste.

Est-ce que cela peut être fait? J'ai essayé effacer la valeur dans le soutien au contrôle d'entrée cachée (cddTest_ClientState) en vain

AIT

Répondre

2

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> 

Hope this helps

Questions connexes