2011-12-15 54 views
1

我需要重新創建一個簡單的JS頁面,該頁面採用單選按鈕值,是和沒有問題並顯示所選內容的結果,不幸的是,ASP.NET是阻塞的方式...任何人都知道如何解決淨能夠在.NET中正確獲取值的問題,而沒有後端?JQuery - ASP.NET - 獲取單選按鈕和理貨的價值

<script type="text/javascript" language="javascript"> 
function scoreQuiz(form) { 

    var count = 0; 

    if ($('#<%=rbYesOne.ClientID%> radio:selected').val() == "1") { 
     alert("YES"); 
    } 

    if ($('#<%=rbNoOne.ClientID%> radio:selected').val() == "0") { 
     alert("NO"); 
    } 

    else { 
     alert("FU......");   
    } 
</script> 

<div class="row"> 
    <asp:RadioButton ID="rbYesOne" value="1" runat="server" GroupName="Question1" /> 
    <asp:RadioButton ID="rbNoOne" value="0" runat="server" GroupName="Question1" /> 
    <!-- and twelve more... --> 
</div> 


<script type="text/javascript" language="javascript"> 
    var rbYesOne = document.getElementById('<%=rbYesOne.ClientID%>'); 
    var rbNoOne = document.getElementById('<%=rbNoOne.ClientID%>'); 
    /* and twelve more...*/ 
</script> 

回答

2

要檢查單選按鈕被選中,與:checked過濾器中選擇它,然後看看是否有任何結果發現length屬性:

if ($('#<%=rbYesOne.ClientID%>:checked').length === 0) { 
    alert("NO"); 
} 

或者使用is功能:

if ($('#<%=rbYesOne.ClientID%>').is(":checked")) { 
    alert("NO"); 
} 

此外,解決asp.net自動生成的ID可能會很痛苦。爲了使生活更輕鬆,你可以給單選按鈕唯一類名,然後做簡單:

if ($('.rbOne:checked').length === 0) { 
    alert("NO"); 
} 
+0

真棒謝謝亞當。我嘗試過長度,沒有運氣,但.is()調用完美 – esoteric 2011-12-16 18:44:10

0

您可以使用:

$("#<%=rbYesOne.ClientID%>").change(function() { 
    alert("YES"); 
}); 

$("#<%=rbNoOne.ClientID%>").change(function() { 
    alert("NO"); 
});