如何获取像复选框一样使用的Rad Button的值



我想获取像复选框一样使用的RadButton的值。

<telerik:RadButton ID="RadButtonCheck" runat="server" ButtonType="ToggleButton" 
Checked="false" Text="StackOverflow" ToggleType="CheckBox" Enabled="true" AutoPostBack="false">
</telerik:RadButton>

我已经阅读了这个问题和答案以及更多..如何在 JQuery 中获取复选框的值?但

$('#<%=RadButtonCheck.ClientID%>').is(':checked') //always returns false.

如何获得正确的值?

编辑:

此外,.attr('checked')属性不返回任何内容,并且会给出错误。

最适合我问题的答案是:

var button = $find("<%= stackoverflow.ClientID%>");
if(button.get_checked())
{
     alert("is checked");
}

刚刚看了一下这个页面 http://demos.telerik.com/aspnet-ajax/button/examples/radiosandcheckboxes/defaultcs.aspx,看看渲染的html,看起来你可以调用

$('#<%=RadButtonCheck.ClientID%>').val(); 

哪个应返回"已选中"或"未选中"。根据确切的控件,它可能略有不同,但正如 Aristos 建议的那样,您需要查看呈现的 HTML。

或者,使用此处 http://demos.telerik.com/aspnet-ajax/button/examples/clientsideapi/defaultcs.aspx 和此处 http://www.telerik.com/help/aspnet-ajax/button-client-side-basics.html 找到的RAD控制客户端API来访问选中的值。我认为您需要调用.get_checked()方法。

所有 Telerik RadControls 都有一个丰富的客户端 API - 其中包括属性和方法。在您的情况下,我假设您想在客户端知道用户是否已选中切换类型为 CheckBox 类型的 RadButton。

您可以侦听客户端 OnClientCheckedChanged 事件。此事件将获取发送者,即单击的 RadButton 和类型为 radButtonCheckedEventArgs 的事件参数。它包含 get_checked() 方法,它会让你知道检查状态是真(意味着已检查)还是假(表示未选中)。以下是实现此目的的代码片段:

<div>
        <telerik:RadButton ID="RadButtonCheck" runat="server" 
         ButtonType="ToggleButton" Checked="false" 
         Text="StackOverflow" ToggleType="CheckBox" Enabled="true" 
         AutoPostBack="false" OnClientCheckedChanged="onClientCheckedChanged">
        </telerik:RadButton>
    </div>
        <script>
            function onClientCheckedChanged(sender, args) {
                alert(args.get_checked());
            }
        </script>

下面是客户端事件的文档链接:

http://www.telerik.com/help/aspnet-ajax/button-onclientcheckedchanged.html

希望这能回答你的问题。

Lohith(Telerik India技术传播者)

您可以为单选按钮设置一个名称,然后尝试按名称获取选中的值吗?像这样:

<telerik:RadButton ID="RadButtonCheck" runat="server" ButtonType="ToggleButton"  Checked="false" Text="StackOverflow" ToggleType="CheckBox" Enabled="true" AutoPostBack="false" name="myRadio"> </telerik:RadButton> 
$('input:radio[name=myRadio]:checked').val();

最新更新