在asp.net中使用DropDownList显示和隐藏Div

时间:2017-10-17 23:18:08

标签: javascript c# asp.net

这个JavaScript代码有什么问题。我想在asp.net中显示和隐藏下拉列表的Div On Change()。但这不起作用。问题是div显示但是立即隐藏。

<script type = "text/javascript">
    function ToggleVisible(ddl) {
        var div1 = document.getElementById('div_zam ');
        var div2 = document.getElementById('div_mah');
        var value = ddl.options[ddl.selectedIndex].value;
        if (value == 2) {
            div1.style.display = "none";
            div2.style.display = "block";
        }
        else {
            div1.style.display = "block";
            div2.style.display = "none";
        }
    }
</script>


<asp:DropDownList ID="myddl" runat="server" OnChange="ToggleVisible(this)"
            Width="127px" CssClass="style7" style="font-size: medium" Height="30px" 
             Font-Names="B Nazanin" ValidationGroup="3" AutoPostBack="True" 
            >
             <asp:ListItem Value="0">select</asp:ListItem>
             <asp:ListItem Value="1">one</asp:ListItem>
             <asp:ListItem Value="2">two</asp:ListItem>
         </asp:DropDownList>

1 个答案:

答案 0 :(得分:2)

您在DropDownList上设置了autoPostBack="True"。这将触发PostBack。这意味着重新加载整个页面,并且您使用javascript所做的更改将丢失。 而且你不需要autoPostBack="True",因为DropDownList没有添加OnSelectedIndexChanged事件。