对于javascript代码,需要将内容占位符id与div id连接起来
当从下拉列表中选择某个值时,我尝试实现show/hide div。但我必须将内容占位符id与div名称连接起来。如果不这样做,代码块将无法工作对于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
<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的值,这只是区别。