нажмите или измените событие на радио с помощью jquery
у меня есть несколько радиостанций на моей странице,и я хочу что-то сделать,когда проверенное радио изменится, однако код не работает в IE:
$('input:radio').change(...);
и после гуглить, люди предлагают использовать клик. Но это не работает.
Это пример кода:
<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>
Он также не работает в IE.
Итак, я хочу знать, что происходит?
кроме того, я боялся, что если он будет реагировать на событие изменения, если нажать на проверил радио?
обновление:
Я не могу добавить комментарий,поэтому отвечаю здесь.
Я использую IE8 и ссылка Furqan дать мне также не работает в IE8. Я не знаю, почему...
5 ответов:
этот код работал для меня:
$(function(){ $('input:radio').change(function(){ alert('changed'); }); });
работает и для меня, вот лучшее решение::
скрипка демо
<form id="myForm"> <input type="radio" name="radioName" value="1" />one<br /> <input type="radio" name="radioName" value="2" />two </form> <script> $('#myForm input[type=radio]').change(function() { alert(this.value); }); </script>
вы должны убедиться, что вы инициализировали
jquery
выше всех других функций импорта и javascript. Потому что$
- это
попробовать
$(document).ready(
вместо
$('document').ready(
или вы можете использовать сокращенную форму
$(function(){ });
$( 'input[name="testGroup"]:radio' ).on('change', function(e) { console.log(e.type); return false; });
этот синтаксис немного более гибок для обработки событий. Здесь можно не только наблюдать "изменения", но и управлять другими типами событий с помощью одного обработчика событий. Это можно сделать, передав список событий в качестве аргументов первому параметру. смотрите jQuery на
во-вторых, .change () - это ярлык для.на( "смена", обработчик ). посмотреть здесь. Я предпочитаю использовать .на() Вместо .изменение потому что у меня больше контроля над событиями.
наконец, я просто показываю альтернативный синтаксис, чтобы прикрепить событие к элементу.