2012-04-02 3 views
1

Ich habe JavaScript, das funktioniert ausgezeichnet, aber ich muss es zu Update Panel ändern und ich kann es nicht immer noch richtig funktionieren.Ändern Sie Javascript zu Update Panel

Was ich möchte, ist, wenn es wählt 1 im ersten Dropdown, wählen Sie c in der zweiten Dropdown-Liste.

Ich benutze asp.net vb. Ich schätze all die Hilfe!

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
    <script type="text/javascript"> 
     function NumbersDropDownList_OnChange() { 
      var numbersDropDownList = document.getElementById("numbersDropDownList"); 
      if (numbersDropDownList.options[numbersDropDownList.selectedIndex].text=="1") { 
       document.getElementById("lettersDropDownList").selectedIndex = 2; 
      } 
     } 
    </script> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
     <asp:DropDownList ID="numbersDropDownList" onchange="NumbersDropDownList_OnChange()" runat="server"> 
      <asp:ListItem>1</asp:ListItem> 
      <asp:ListItem>2</asp:ListItem> 
      <asp:ListItem>3</asp:ListItem> 
     </asp:DropDownList> 
     <asp:DropDownList ID="lettersDropDownList" runat="server"> 
      <asp:ListItem>a</asp:ListItem> 
      <asp:ListItem>b</asp:ListItem> 
      <asp:ListItem>c</asp:ListItem> 
     </asp:DropDownList> 
    </div> 
    </form> 
</body> 
</html> 
+0

Welche Kontrolle haben Sie mit Update wickeln wollen? – mshsayem

+0

howHearWhere.ascx Danke! – Michelle

+0

Nun, das Steuerelement wird nicht im oben gezeigten Code verwendet ... – mshsayem

Antwort

0

this helps

<asp:UpdatePanel runat="server" ID="pnllettersDropDownList" UpdateMode="Conditional"> 
    <ContentTemplate> 
     <asp:DropDownList ID="numbersDropDownList" runat="server" AutoPostBack="true" > 
     <asp:ListItem Value="1" >1</asp:ListItem> 
     <asp:ListItem Value="2" >2</asp:ListItem> 
     <asp:ListItem Value="3" >3</asp:ListItem> 
    </asp:DropDownList> 
     <asp:DropDownList ID="lettersDropDownList" runat="server"> 
     <asp:ListItem Value="1" >a</asp:ListItem> 
     <asp:ListItem Value="2" >b</asp:ListItem> 
     <asp:ListItem Value="3" >c</asp:ListItem> 
    </asp:DropDownList>   
    </ContentTemplate> 
    </asp:UpdatePanel> 

Protected Sub numbersDropDownList_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles numbersDropDownList.SelectedIndexChanged 
     if numbersDropDownList.selectedvalue=2 then 
      lettersDropDownList.selectedvalue=3 
     end if 
End Sub 
0

Es sieht aus wie Sie Ihre Steuerelemente nicht richtig aus dem Javascript anrufen. Sie haben nur "Glück", dass Ihr aktuelles Skript funktioniert, einfach weil sich Ihre Listen in der Basisebene des Formulars befinden. wie unten

Correct Ihr Skript:

<script type="text/javascript"> 
    function NumbersDropDownList_OnChange() { 
     var numbersDropDownList = document.getElementById('<%= numbersDropDownList.ClientID %>'); 
     if (numbersDropDownList.options[numbersDropDownList.selectedIndex].text=="1") { 
      document.getElementById('<%= lettersDropDownList.ClientID %>').selectedIndex = 2; 
     } 
    } 
</script> 
Verwandte Themen