2011-12-15 5 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 фильтра, то ли какие-либо результаты были получены со свойством длины:

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

Или использовать is функцию:

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

Кроме того, работа с автогенерируемыми идентификаторами asp.net может быть болью. Для того, чтобы облегчить жизнь вы можете дать радиокнопкам уникальных имен классов, а затем сделать просто:

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

Удивительного спасибо Адама. Я пробовал длину, не повезло, но. (0) отлично работал – esoteric

+0

@esoteric - woot - рад, что он сработал :) –

0

Вы можете использовать:

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

$("#<%=rbNoOne.ClientID%>").change(function() { 
    alert("NO"); 
}); 
Смежные вопросы