繁体   English   中英

页面加载时需要从单选列表中获取价值并运行javascript函数

[英]Need to get value from radiolist and run javascript function when page loads

我有一个单选列表,其中会根据保存的数据在加载时检查单选按钮之一。 屏幕上显示的内容取决于单选列表中的选定值。 我在列表项上附加了一个onclick处理程序,以根据所选内容显示正确的屏幕。 我的问题是运行此功能或在页面加载时执行类似操作。

我之所以使用onclick处理程序是因为ASP.Net在页面加载时会唯一地创建ID名称。

以下是我的JavaScript函数:

function toggleType(item)
    {
        if(item == "Individual")
        {
            $("#individual_info").show();
            $("#business_info").hide();
        }
        else
        {
            $("#business_info").show();
            $("#individual_info").hide();

        }
    };

我需要此函数在加载页面时加载数据时和单选列表值更改时都运行。

如果在数据库中未对单选按钮进行任何选择,则两个选择都将被隐藏。 该代码在document.ready函数中设置。

编辑:添加了ASP.Net标记

<asp:RadioButtonList ID="fldType" CellPadding="3" runat="server" RepeatDirection="Horizontal">
    <asp:ListItem Text="Individual" onclick="javascript:toggleType('Individual')"></asp:ListItem>
    <asp:ListItem Text="Business" onclick="javascript:toggleType('Business')"></asp:ListItem>
</asp:RadioButtonList>

我想到了。 我在广播列表中添加了CssClass属性并更新了我的函数。 由于我在每个项目的末尾都有一个列表索引,因此我能够确定在任何给定时间检查的内容。

<asp:RadioButtonList ID="fldType" CellPadding="3" runat="server" RepeatDirection="0">
<asp:ListItem Text="Individual" onclick="javascript:toggleType('0')"></asp:ListItem>
<asp:ListItem Text="Business" onclick="javascript:toggleType('1')"></asp:ListItem>

JavaScript函数:

function toggleType(item)
{
    if(item == "0")
    {
        $("#individual_info").show();
        $("#business_info").hide();
    }
    else
    {
        $("#business_info").show();
        $("#individual_info").hide();

    }
};

Javascript / jQuery Document Ready函数可处理加载时的切换。

$(document).ready(function () {  
    $(".toggleEntityType input").each(function ()
    {
        if(this.checked)
        {
            var splitId = this.id.split("_");
            var id = splitId[splitId.length - 1];

            toggleType(id);
        }
    })
});

我必须确保指定了输入元素,因为ASP.Net将该类放在环绕输入节点的span元素上。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM