我有一个div2,只有当div1到javascript函数getvalue().Initially
中的RadioButtonList1值为“是”时我才会显示。我没有使用c#代码显示div2。
<fieldset id="disc" class="nt_generic">
<div runat="server" id="div1">
<asp:RadioButtonList ID="RadioButtonList1" runat="server" RepeatDirection="Horizontal"
OnClick="getvalue()">
<asp:ListItem Value="Yes" Text="Yes" />
<asp:ListItem Value="No" Text="No" Selected="True" />
</asp:RadioButtonList>
</div>
<div id="div2" runat="server">
<radC:RadComboBox ID="rcb1" EnableLoadOnDemand="true" runat="server" Skin="WebBlue">
<Items>
<radC:RadComboBoxItem ID="CondoComboBoxItem" runat="server" Text="A Ground" Value="B" Selected="true" />
<radC:RadComboBoxItem ID="HomeComboBoxItem" runat="server" Text="B Ground" Value="A" />
</Items>
</radC:RadComboBox>
</div>
</fieldset>
function getvalue()
{
var value = $('#<%=RadioButtonList1.ClientID %> input[type=radio]:checked').val();
if(value == "Yes")
{
if (document.getElementById("<% = div2.ClientID %>") != null)
document.getElementById("<%= div2.ClientID %>").style.display = "inline-block";
}
else
if (document.getElementById("<% = div2.ClientID %>") != null)
document.getElementById("<%= div2.ClientID %>").style.display = "none";
}
当我使用上面的代码时,div2首先显示并隐藏我不想要的后缀。
如果我将visible=false
添加到div2,如下所示
<div id="divTankLocated" runat="server" visible="false">
div2没有隐藏和显示,但是javascript函数getvalue()
不起作用,并且在更改RadioButtonList1值时无法显示div2。
有些人可以帮我解决上述两点问题吗?
答案 0 :(得分:0)
至少部分问题是由于javascript的自动分号插入造成的。
ex this:
if(value == "Yes")
{
}
变成了:
ex this:
if(value == "Yes");
{
}
表示每次执行if语句的then部分。为了防止这种情况发生,您 将开头{
放在上一行。这样做并将{ }
对添加到所有其他if语句中会将您的javascript变为:
function getvalue() {
var value = $('#<%=RadioButtonList1.ClientID %> input[type=radio]:checked').val();
if(value == "Yes") {
if (document.getElementById("<% = div2.ClientID %>") != null) {
document.getElementById("<%= div2.ClientID %>").style.display = "inline-block";
}
} else if (document.getElementById("<% = div2.ClientID %>") != null) {
document.getElementById("<%= div2.ClientID %>").style.display = "none";
}
}