c# - 向radiobuttonlist的单选按钮添加属性

标签 c# jquery asp.net radio-button radiobuttonlist

我需要向使用单选按钮列表呈现的多个单选按钮添加一些 javascript 函数。相反,它们被添加到动态创建的跨度中。查看代码。

原始 html/aspx

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>

    <script type="text/javascript">
        function DisplayAlert() {
            alert('hahahahahahahahhahah');

        }
</script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <asp:RadioButtonList runat="server" ID="rblAmit" AutoPostBack="false" 
     DataTextField="Name" DataValueField="Id">  </asp:RadioButtonList>
        </div>
    </form>
</body>

呈现的 HTML

<div>
    <table id="rblAmit">
    <tr>
        <td><span onchange="javascript:DisplayAlert();"><input id="rblAmit_0" type="radio" name="rblAmit" value="A1" /><label for="rblAmit_0">Amit</label></span></td>
    </tr><tr>
        <td><span onchange="javascript:DisplayAlert();"><input id="rblAmit_1" type="radio" name="rblAmit" value="A2" /><label for="rblAmit_1">Ranjan</label></span></td>
    </tr><tr>
        <td><span onchange="javascript:DisplayAlert();"><input id="rblAmit_2" type="radio" name="rblAmit" value="A3" checked="checked" /><label for="rblAmit_2">Senior</label></span></td>
    </tr><tr>
        <td><span onchange="javascript:DisplayAlert();"><input id="rblAmit_3" type="radio" name="rblAmit" value="A4" /><label for="rblAmit_3">Software</label></span></td>
    </tr><tr>
        <td><span onchange="javascript:DisplayAlert();"><input id="rblAmit_4" type="radio" name="rblAmit" value="A5" /><label for="rblAmit_4">Engineer</label></span></td>
    </tr>
</table>

    </div>

CS-代码隐藏

private void FireEventOnLoad()
{

    foreach (ListItem item in rblAmit.Items)
    {
        item.Attributes.Add("onchange", "javascript:DisplayAlert();");
    }

    if (rblAmit.Items.FindByText("Senior") != null)
    {
        rblAmit.Items.FindByText("Senior").Selected = true;
    }
}

任何方式,以便我可以从 RadioButtonList 中枚举 RadioButton。目前我正在获取键值对列表。

最佳答案

OnChange 事件与值属性可以更改的元素相关联。您可以改为使用 onclick 事件,这将委托(delegate)给 span 下的输入元素。

private void FireEventOnLoad()
{

    foreach (ListItem item in rblAmit.Items)
    {
        item.Attributes.Add("onclick", "javascript:DisplayAlert();");
    }

    if (rblAmit.Items.FindByText("Senior") != null)
    {
        rblAmit.Items.FindByText("Senior").Selected = true;
    }
}

关于c# - 向radiobuttonlist的单选按钮添加属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27505306/

相关文章:

c# - 如何在一个查询中插入和更新

jquery - 甚至在固定宽度内填充导航栏链接

javascript - 当 htmlMode true 无法与 codemirror 正常工作时,Summernote html 代码 View

asp.net - 如何在asp.net中单击按钮在新选项卡中打开页面?

javascript - 将 SingalR 示例实现到 ASP.Net 网站应用程序中 — JS 中的错误

C# FluentMigrator.Runner 控制台应用程序设置每个 session 的事务

c# - GC 与 C# 和 C++ 在同一解决方案中

c# - 如果今天是星期一,我如何获得星期五日期

javascript - Jquery递增/递减票据计数器

asp.net - 使用 ASP.NET Core Web Api 验证第 3 方 Cookie