Possível duplicado: a
verificação do botão de opção específico está marcada
No momento, tenho esses 2 botões de opção para que o usuário possa decidir se precisa de postagem incluída no preço ou não:
<input type="radio" id="postageyes" name="postage" value="Yes" /> Yes
<input type="radio" id="postageno" name="postage" value="No" /> No
Preciso usar o Jquery para verificar se o botão de opção 'yes' está marcado e, se estiver, faça uma função de acréscimo. Alguém poderia me dizer como eu faria isso, por favor?
Obrigado por qualquer ajuda
editar:
Atualizei meu código para isso, mas não está funcionando. Estou fazendo algo errado?
<script type='text/javascript'>
// <![CDATA[
jQuery(document).ready(function(){
$('input:radio[name="postage"]').change(function(){
if($(this).val() == 'Yes'){
alert("test");
}
});
});
// ]]>
</script>
jquery
html
radio-button
Daniel H
fonte
fonte
Respostas:
Ou, acima - novamente - usando um jQuery um pouco menos supérfluo:
JQuery revisado (melhorado):
Mostrar snippet de código
Demonstração JS Fiddle .
Além disso, uma atualização suave (desde que eu estava editando para incluir Snippets e os links JS Fiddle), para agrupar os
<input />
elementos com<label>
s - permitir clicar no texto para atualizar o relevante<input />
- e alterar os meios de criação do conteúdo a acrescentar:Demonstração JS Fiddle .
Além disso, se você precisar apenas exibir conteúdo, dependendo do elemento verificado pelo usuário, uma pequena atualização que alternará a visibilidade usando um show / hide explícito:
E, finalmente, usando apenas CSS:
Demonstração JS Fiddle .
Referências:
:checked
seletor .~
) .appendTo()
.change()
.:checked
seletor .filter()
.is()
.:radio
seletor .remove()
.text()
.toggle()
.val()
.fonte
Tente isto
fonte
Algo assim:
fonte
$(...).length
lugar.#postageyes:checked
ou$('#postageyes').is(':checked')
?is()
do jQuery, retorna um booleano. Então o chamado.length()
está quebrado. Na documentação: "Ao contrário de outros métodos de filtragem, .is () não cria um novo objeto jQuery. Em vez disso, permite testar o conteúdo de um objeto jQuery sem modificação." # api.jquery.com/isIsso ouvirá um evento de alteração nos botões de opção. No momento em que o usuário clica
Yes
, o evento será acionado e você poderá anexar qualquer coisa que desejar ao DOM.fonte
fonte
fonte
$("#postageyes:checked"
sempre retornará verdadeiro? Você não precisaria usar o.length
para que ele funcionasse?Tente o seguinte:
fonte
fonte
Isso ouvirá o evento alterado. Eu tentei as respostas de outras pessoas, mas elas não funcionaram para mim e, finalmente, esta funcionou.
fonte