【问题标题】:How to Make Tab index work for Radio Buttons which are in same group?如何使标签索引适用于同一组中的单选按钮?
【发布时间】:2011-11-04 07:00:08
【问题描述】:

我有这样的场景

<asp:RadioButton ID="userActiveYesRadioButton" GroupName="activeGroup" Text="Yes"
       runat="server" TabIndex="4" />&nbsp;
<asp:RadioButton ID="userActiveNoRadioButton" GroupName="activeGroup" Text="No"
       runat="server" TabIndex="5" />

由于这些单选按钮在同一个组中,标签索引不起作用。在这种情况下是否可以使 tabindex 工作? 如果我删除该组,它们不会保持互斥。

提前致谢

【问题讨论】:

    标签: c# .net asp.net controls radio-button


    【解决方案1】:

    您可以使用替代品, 移除 GroupName 属性并使用 javascript 使单选按钮互斥。

    举例

    function toggle(obj) {
        if (obj.value == "Radio1") {
            document.getElementById('ctl00_ContentPlaceHolder1_Radio2').checked = false;
        }
        else if (obj.value == "Radio2") {
            document.getElementById('ctl00_ContentPlaceHolder1_Radio1').checked = false;
        }
    }
    

    在单选按钮的 onClick 事件上调用“toggle(this)”。

    注意:'ctl00_ContentPlaceHolder1_'被添加到控件 id 因为内容占位符。

    【讨论】:

    • 您可以编写“”而不是“ctl00_ContentPlaceHolder1_Radio2”,这样无论您拥有多少父、内容占位符,您都将获得正确的客户端 ID,并且如果您正在构建用户控件,则可以在多个母版页中使用 :)
    • @FahadHussain 这个解决方案也适用于我,但是一旦它成为焦点,当我按下输入按钮时,它不会被检查:(
    • @HassanMokdad 这个解决方案也适用于我,但是一旦它成为焦点,当我按下输入按钮时,它不会被检查:(
    猜你喜欢
    • 1970-01-01
    • 2014-09-19
    • 2017-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-17
    • 1970-01-01
    • 2015-09-03
    相关资源
    最近更新 更多