Tenho alguns rádios em minha página e quero fazer algo quando o rádio marcado mudar, porém o código não funciona no IE:
$('input:radio').change(...);
E depois de pesquisar no Google, as pessoas sugerem usar o clique . Mas não funciona.
Este é o código de exemplo:
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
<script type="text/javascript">
$('document').ready(
function(){
$('input:radio').click(
function(){
alert('changed');
}
);
}
);
</script>
</head>
<body>
<input type="radio" name="testGroup" id="test1" />test1<br/>
<input type="radio" name="testGroup" id="test2" />test2<br/>
<input type="radio" name="testGroup" id="test3" />test3</br>
</body>
</html>
Também não funciona no IE.
Então, eu quero saber o que está acontecendo?
Também tenho medo se ele irá reativar o evento de mudança se eu clicar em um rádio selecionado.
ATUALIZAR:
Não posso adicionar comentários, então respondo aqui.
Eu uso o IE8 e o link que Furqan me dá também não funciona no IE8. Eu não sei porque...
jquery
radio-button
hguser
fonte
fonte
Respostas:
Este código funcionou para mim:
http://jsfiddle.net/3q29L/
fonte
$('input[type=radio]')
(consulte "notas adicionais": api.jquery.com/radio-selector )Você pode especificar o atributo de nome conforme abaixo:
fonte
Funciona para mim também, aqui está uma solução melhor ::
demonstração de violino
Você deve certificar-se de que inicializou
jquery
acima de todas as outras importações e funções javascript. Porque$
é umajquery
função. Aténão irá verificar
jquery
inicializado ou não. Isso garantirá que<code>
será executado somente depois que todos os javascripts forem inicializados.fonte
Experimentar
ao invés de
ou você pode usar uma forma abreviada
fonte
Essa sintaxe é um pouco mais flexível para lidar com eventos. Você pode não apenas observar "mudanças", mas também outros tipos de eventos podem ser controlados aqui, usando um único manipulador de eventos. Você pode fazer isso passando a lista de eventos como argumentos para o primeiro parâmetro. Veja jQuery On
Em segundo lugar, .change () é um atalho para .on ("alterar", manipulador). Veja aqui . Prefiro usar .on () em vez de .change porque tenho mais controle sobre os eventos.
Por último, estou simplesmente mostrando uma sintaxe alternativa para anexar o evento ao elemento.
fonte