2012-08-05 44 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的印度)