Изменить Javascript на панель обновления - PullRequest
1 голос
/ 02 апреля 2012

У меня есть JavaScript, который отлично работает, но мне нужно изменить его на панель обновлений, и я не могу заставить его работать должным образом.

Я хочу, чтобы он выбрал 1 в первом раскрывающемся списке, а во втором - букву C.

Я использую asp.net vb.Я ценю всю помощь!

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

Ответы [ 2 ]

0 голосов
/ 03 апреля 2012

Похоже, вы неправильно вызываете свои элементы управления из JavaScript. Вам просто «повезло», что ваш текущий скрипт работает, просто потому что ваши списки находятся на базовом уровне формы.

Исправьте ваш скрипт, как показано ниже:

<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>
0 голосов
/ 02 апреля 2012

Надеюсь, это поможет

    <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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...