我想获取像复选框一样使用的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();