2011-12-15 120 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"); 
});