Как вы получаете проверенное значение asp: RadioButton с помощью jQuery? - PullRequest
8 голосов
/ 09 октября 2009

Мне нужно сделать что-то вроде этого:

<asp:RadioButton ID="rbDate" runat="server" Text="Date" GroupName="grpPrimary" />

и иметь возможность проверить значение проверенного значения переключателя в jQuery, но мои попытки, подобные этим, не возвращают true / false.

if ($('[name=rbDate]').attr("Checked"))

if ($('[name=rbDate]').attr("Checked").val())

if ($('[name=rbDate]:checked').val())

Небольшая помощь?

Ответы [ 4 ]

18 голосов
/ 09 октября 2009

Это, наверное, самый простой способ сделать это. * = ищет во всем атрибуте id значение rbDate , которое обрабатывает все искажения идентификатора ASP.NET.

$('input[id*=rbDate]').is(":checked");
5 голосов
/ 09 октября 2009

Пока ответ ChaosPandion будет работать, было бы быстрее обернуть ваш RadioButtonList в деление следующим образом:

<div id="dateWrapper">
    <asp:RadioButton 
        ID="rbDate" 
        runat="server" 
        Text="Date" 
        GroupName="grpPrimary" />
</div>

Тогда ваш код jQuery может быть таким простым:

var selected = $("#dateWrapper input:radio:checked");
2 голосов
/ 09 октября 2009

INamingContainer добавляет кучу вещей в начало идентификатора фактического HTML.

$('input[id$=rbDate]').attr('checked')

использование бита [id $ = rbDate] в селекторе сообщает jQuery, что вы хотите ввод с идентификатором, заканчивающимся на rbDate

Теперь, если вы хотите получить выбранное значение из всего списка, вы можете сделать что-то вроде

$('input[name$=rbDate]:checked').val()

который, если один из выбранных элементов будет возвращать значение выбранного, или в этом списке переключателей.

0 голосов
/ 23 сентября 2015

Вот мое решение JQuery, использующее идентификатор asp.net:

var rbSelected =  $("#<%= rbDate.ClientID %>").is(":checked"); 
...