Como você obtém o valor verificado do ASP: Radiobutton com jQuery?
-
20-09-2019 - |
Pergunta
Eu preciso fazer algo assim:
<asp:RadioButton ID="rbDate" runat="server" Text="Date" GroupName="grpPrimary" />
e ser capaz de verificar o valor do valor verificado do botão de rádio no jQuery, mas minhas tentativas como essas não retornam verdadeiras/falsas.
if ($('[name=rbDate]').attr("Checked"))
if ($('[name=rbDate]').attr("Checked").val())
if ($('[name=rbDate]:checked').val())
Uma ajudinha?
Solução
Esta é provavelmente a maneira mais fácil de fazer isso. o *= pesquisa todo o atributo de identificação para rbdate que cuida de todo o ASP.NET ID Mangling.
$('input[id*=rbDate]').is(":checked");
Outras dicas
Enquanto Resposta de Chaospandion vai funcionar, seria mais rápido embrulhar seu RadioButtonList
em uma div como esta:
<div id="dateWrapper">
<asp:RadioButton
ID="rbDate"
runat="server"
Text="Date"
GroupName="grpPrimary" />
</div>
Então seu código jQuery pode ser tão simples:
var selected = $("#dateWrapper input:radio:checked");
O InamingContainer adiciona um monte de coisas ao início do ID do HTML real.
$('input[id$=rbDate]').attr('checked')
Usando o bit [id $ = rbdate] no seletor diz ao jQuery que você deseja a entrada com um id que termina no rbdate
Agora, se você tivesse um que queria obter o valor selecionado de toda a lista, você pode fazer algo como
$('input[name$=rbDate]:checked').val()
que, um dos itens selecionados retornaria o valor do selecionado, ou, nessa lista de botões de rádio.
Aqui está minha solução jQuery que usa o ASP.NET ID:
var rbSelected = $("#<%= rbDate.ClientID %>").is(":checked");