I need to do something like this:
<asp:RadioButton ID="rbDate" runat="server" Text="Date" GroupName="grpPrimary" />
and be able to check the value of the radio button's checked value in jQuery, but my attempts like these don't return true/false.
if ($('[name=rbDate]').attr("Checked"))
if ($('[name=rbDate]').attr("Checked").val())
if ($('[name=rbDate]:checked').val())
A little help?
This is probably the easiest way to do it. The *= searches the whole id attribute for rbDate which takes care of the whole ASP.NET id mangling.
$('input[id*=rbDate]').is(":checked");
While ChaosPandion's answer will work it would be faster to wrap your RadioButtonList
in a div like this:
<div id="dateWrapper">
<asp:RadioButton
ID="rbDate"
runat="server"
Text="Date"
GroupName="grpPrimary" />
</div>
Then your jQuery code can be this simple:
var selected = $("#dateWrapper input:radio:checked");
INamingContainer adds a bunch of stuff to the beginning of the id of the actual html.
$('input[id$=rbDate]').attr('checked')
using the [id$=rbDate] bit on the selector tells jQuery that you want the input with an id that ends in rbDate
Now if you had a that you wanted to get the selected value of the entire list you might do something like
$('input[name$=rbDate]:checked').val()
which, were one of the items selected would return the value of the selected , or , in that radio button list.
Here is my JQuery solution that uses the asp.net ID:
var rbSelected = $("#<%= rbDate.ClientID %>").is(":checked");
来源:https://stackoverflow.com/questions/1541160/how-do-you-get-the-checked-value-of-aspradiobutton-with-jquery