这个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>
答案 0 :(得分:2)
您在DropDownList上设置了autoPostBack="True"
。这将触发PostBack。这意味着重新加载整个页面,并且您使用javascript所做的更改将丢失。
而且你不需要autoPostBack="True"
,因为DropDownList没有添加OnSelectedIndexChanged事件。