对于javascript代码,需要将内容占位符id与div id连接起来

对于javascript代码,需要将内容占位符id与div id连接起来,javascript,asp.net,Javascript,Asp.net,当从下拉列表中选择某个值时,我尝试实现show/hide div。但我必须将内容占位符id与div名称连接起来。如果不这样做,代码块将无法工作 <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server"> <script type="text/javascript"> function ShowHideDiv() { va

当从下拉列表中选择某个值时,我尝试实现show/hide div。但我必须将内容占位符id与div名称连接起来。如果不这样做,代码块将无法工作

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
    <script type="text/javascript">
        function ShowHideDiv() {

        var ddlPassport = document.getElementById('<%= ddlAnnualTax.ClientID %>').value;
        var dvPassport = document.getElementById('<%= dvPassport.ClientID %>').value;

        ContentPlaceHolder1_dvPassport.style.display = ddlPassport == "2" ? "block" : "none";
    }
</script>


<div class="div_labels">
        <asp:DropDownList ID="ddlAnnualTax" runat="server" Height="35px" Font-Size="Medium" Width="15%" Enabled="true" onchange="ShowHideDiv()">
            <asp:ListItem Enabled="true" Text="select..." Value="-1"></asp:ListItem>
            <asp:ListItem Value="1">first year</asp:ListItem>
            <asp:ListItem Value="2">second year</asp:ListItem>
        </asp:DropDownList>   
    </div>
    <br />
    <div class="div_labels"><div id="dvPassport" style="display: none" runat="server"> <input type="text" id="txtPassport" /></div></div>
</asp:Content>

函数ShowHideDiv(){
var ddlPassport=document.getElementById(“”).value;
var dvPassport=document.getElementById(“”).value;
ContentPlaceholder 1\u dvPassport.style.display=ddlPassport==“2”?块:“无”;
}
第一年
第二年

在代码
contentplaceholder 1
中,是内容占位符id,我需要显示/隐藏的div是
dvPassport
。因此,我必须制作
ContentPlaceHolder1\u dvPassport
,代码才能正常工作。为什么会这样?

请尝试使用此代码

<script type="text/javascript">
        function ShowHideDiv() {

        var ddlPassport = document.getElementById('<%= ddlAnnualTax.ClientID %>').value;
        document.getElementById('<%= dvPassport.ClientID %>').style.display = ddlPassport == "2" ? "block" : "none";
    }
</script>

函数ShowHideDiv(){
var ddlPassport=document.getElementById(“”).value;
document.getElementById(“”).style.display=ddlPassport==“2”?“块”:“无”;
}

ContentPlaceHolder1\u dvPassport
替换为
document.getElementById(“”)
。希望它能起作用。但我不能说,为什么要添加内容占位符id和div标签

@mplungjan请先阅读问题,然后再将其标记为重复
div
不能设置为
clientdmode=“Static”
和链接中提供的其他解决方案,我已经实现了。请仔细阅读我文章中提供的代码块。看来你对ASP.NET的知识还不够。请删除重复标签,以便其他人可以参与。谢谢大家!@mplungjan更愿意使用谷歌链接,如果你对这个问题有任何建议或答案,那将非常有帮助。非常感谢。它起作用了。。。。但是为什么在我的代码中我必须添加内容占位符id,我已经分配了var的值,这只是区别。