2012-08-05 61 views
1

我想要获取RadButton的值,如复选框。如何获得Rad Button的使用价值,如复选框

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

我已经阅读了这个问题,答案以及更多...... How to get value for checkbox in JQuery?

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

我怎样才能得到正确的值?

编辑:

而且(“检查”)属性返回任何内容,它给错误.attr ..

+1

通常这种按钮都扭曲了一些跨度大,或使他们看中了其他元素,并且'RadButtonCheck.ClientID'实际上不是检查控件。检查呈现的内容,然后阅读如何获取检查控件。他们也可能看起来像复选框,但它可能是别的东西。 – Aristos 2012-08-05 19:00:46

回答

2

我的问题的最合适的答案是:

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

刚把http://demos.telerik.com/aspnet-ajax/button/examples/radiosandcheckboxes/defaultcs.aspx这个网页一看,看着呈现的HTML,它看起来像你可以致电

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

应该返回“选中”或“未选中”。它可能略有不同,具体取决于确切的控制,但Aristos建议您需要查看呈现的HTML。

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

+0

.val()返回空字符串,如“”。 – 2012-08-05 19:57:07

+0

你可以发布渲染输出吗? – bUKaneer 2012-08-05 20:00:48

+0

呈现的输出是“” 它是空的。 – 2012-08-05 20:03:32

0

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

<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(); 
+0

它给错误Divi .. – 2012-08-06 08:03:45

+0

对不起,它应该是名称而不是在设置为'myRadio'的html中的类。你可以再试一次吗? – Divi 2012-08-07 01:29:40

1

所有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的印度)