Radcombobox使用javascript隐藏和显示

时间:2014-08-12 21:49:43

标签: javascript asp.net radcombobox

我有一个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。

有些人可以帮我解决上述两点问题吗?

1 个答案:

答案 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";
    }
}