Я становлюсь ленивым об использовании средств доступа в классах. Обычно, самая большая проблема состоит в том, что я не могу легко сказать объем переменной на быстрый взгляд. Тогда я провел несколько часов на прошлой неделе, отлаживая проблемы повреждения памяти, который происходил из-за использования
self.displayName = name
в некоторых местах и
displayName = name
в других. Я был счастлив, когда я нашел его, и мое приложение прекратило отказывать. Я не был так рад, что потратил впустую несколько часов, ища такую преодолимую ошибку.
Это, вероятно, самый простой способ сделать это . * = выполняет поиск по всему атрибуту id для rbDate , который заботится обо всем искажении идентификатора ASP.NET.
$('input[id*=rbDate]').is(":checked");
Пока ответ ChaosPandion будет работать, было бы быстрее заключить ваш RadioButtonList
в div, например:
<div id="dateWrapper">
<asp:RadioButton
ID="rbDate"
runat="server"
Text="Date"
GroupName="grpPrimary" />
</div>
Тогда ваш код jQuery можно это просто:
var selected = $("#dateWrapper input:radio:checked");
INamingContainer добавляет кучу вещей в начало идентификатора фактического HTML.
$('input[id$=rbDate]').attr('checked')
использование бита [id $ = rbDate] в селекторе сообщает jQuery, что вы хотите вводить идентификатор, заканчивающийся на rbDate
. Теперь, если у вас есть, что вы хотите получить выбранное значение всего списка, вы можете сделать что-то вроде
$('input[name$=rbDate]:checked').val()
, который, если бы один из выбранных элементов вернул бы значение selected, или в этом списке переключателей.