A declaração do problema é simples. Preciso ver se o usuário selecionou um botão de opção de um grupo de opções. Cada botão de opção no grupo compartilha o mesmo ID.
O problema é que não tenho controle sobre como o formulário é gerado. Aqui está o código de exemplo de como um código de controle de botão de opção se parece:
<input type="radio" name='s_2_1_6_0' value='Mail copy to my bill to address' id = "InvCopyRadio" onchange = 'SWESubmitForm(document.SWEForm2_0,s_4,"","1-DPWJJF")' style="height:20;width:25" tabindex=1997 >
Além disso, quando um botão de opção é selecionado, ele não adiciona um atributo "marcado" ao controle apenas com o texto marcado (acho que apenas a propriedade marcada sem um valor) . Abaixo está a aparência de um controle de rádio selecionado
<input type="radio" checked name='s_2_1_6_0' value='Mail copy to my bill to address' id = "InvCopyRadio" onchange = 'SWESubmitForm(document.SWEForm2_0,s_4,"","1-DPWJJF")' style="height:20;width:25" tabindex=1997 >
Alguém pode me ajudar com o código jQuery que pode me ajudar a obter o valor do botão de opção marcado?
jquery
radio-button
siebel
user1114212
fonte
fonte
Respostas:
Apenas use.
Tão fácil que é.
fonte
null
, o que é lógico, mas às vezes pode confundir você quando você está acostumado a ver""
como o valor padrão por meio da.val()
chamada.Primeiro, você não pode ter vários elementos com o mesmo ID. Sei que você disse que não pode controlar como o formulário é criado, mas ... tente de alguma forma remover todos os IDs dos rádios ou torná-los únicos.
Para obter o valor do botão de opção selecionado, selecione-o pelo nome com o
:checked
filtro.EDITAR
Então você não tem controle sobre os nomes. Nesse caso, eu diria que coloque esses botões de opção dentro de uma div, nomeada, digamos
radioDiv
, e modifique levemente seu seletor:fonte
A maneira mais simples de obter o valor do botão de opção selecionado é a seguinte:
Nenhum espaço deve ser usado entre o seletor.
fonte
Certifique-se de envolver isso na função pronta para DOM (
$(function(){...});
ou$(document).ready(function(){...});
).fonte
radioID
para o seu ID?:checked
..is(":checked")
. Ais()
função do jQuery retorna um booleano (verdadeiro ou falso) e não um elemento.fonte
Isso retornará o valor verificado do botão de opção.
fonte
para atributos aninhados
Não se esqueça de chaves simples para o nome
fonte
Obtenha todos os rádios:
Filtre para obter o que foi verificado
OU
Outra maneira de encontrar o valor do botão de opção
fonte
$('[name=your_inputs_names]:checked').val()
porque eles sempre têm o mesmo nome exclusivo.filter()
.filter()
. Desejo que esta resposta possa estar no topo.Para obter o valor do botão de opção selecionado, use RadioButtonName e o ID do formulário que contém o RadioButton.
OU apenas
fonte
fonte
Veja abaixo o exemplo de trabalho com uma coleção de grupos de rádio, cada um associado a seções diferentes. Seu esquema de nomeação é importante, mas, idealmente, você deve tentar usar um esquema de nomeação consistente para entradas de qualquer maneira (especialmente quando elas estão em seções como aqui).
fonte
Use o código abaixo
Observe que o atributo value deve ser definido para obter "Masculino" ou "Feminino" em seu resultado.
fonte
Tente isso com exemplo
fonte
Apenas por nome
fonte
fonte
undefined
quando você tem certeza de que o valor deve serchecked
? Não há necessidade no jQuery."undefined"
é desnecessária.Espero que isso ajude.
fonte
A melhor maneira de explicar esse tópico simples é fornecendo um exemplo simples e um link de referência:
Html:
jquery: -
fonte
Eu sei que estou entrando tão tarde. Mas vale ressaltar que é preciso
E então eu verifiquei isso em meus js. Poderia ser como
`
fonte
e manipule o jquery para alerta como para o valor definido / Alterado através do ID da div:
é tão fácil....:-}
fonte
Outra maneira fácil de entender ... Está funcionando:
Código HTML:
Código Jquery:
fonte
botão de opção de grupo múltiplo valor secreto para matriz
fonte
Não sou javascript, mas encontrei aqui para pesquisar esse problema. Para quem pesquisar no google e encontrar aqui, espero que isso ajude alguns. Então, como em questão, se temos uma lista de botões de opção:
Posso encontrar qual deles foi selecionado com esse seletor:
Mesmo se não houver nenhum elemento selecionado, ainda não recebo erro indefinido. Portanto, você não precisa escrever uma declaração if extra antes de obter o valor do elemento.
Aqui está um exemplo muito básico do jsfiddle .
fonte
Aqui estão 2 botões de opção, nomeadamente rd1 e Radio1
A maneira mais simples de verificar qual botão de opção está marcado, marcando a propriedade individual is (": selected")
fonte
Even
input
não é necessário, como sugerido por outras respostas. O código a seguir também pode ser usado:fonte
input
aspas e com aspas desnecessárias.fonte
fonte
Caso você não saiba o nome sepcífico ou queira verificar todas as entradas de rádio em um formulário, use uma var global para verificar o valor de cada grupo de rádio apenas uma vez: `
fonte