点击或更改使用jQuery的无线电事件
我在我的页面中有一些无线电,而且我想在选中的无线电改变时做一些事情,但是这些代码在IE中不起作用:
$('input:radio').change(...);
而谷歌search后,人们build议使用点击 。 但它不起作用。
这是示例代码:
<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中工作。 我不知道为什么…
这段代码适用于我:
$(function(){ $('input:radio').change(function(){ alert('changed'); }); });
您可以指定name属性如下:
$( 'input[name="testGroup"]:radio' ).change(
也适用于我,这是一个更好的解决scheme::
小提琴演示
<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
所有其他import和JavaScript函数。 因为$
是一个jquery
函数。 甚至
$(function(){ <code> });
不会检查jquery
初始化或不。 它将确保<code>
只有在所有的javascript被初始化后才能运行。
尝试
$(document).ready(
代替
$('document').ready(
或者您可以使用简写forms
$(function(){ });
$( 'input[name="testGroup"]:radio' ).on('change', function(e) { console.log(e.type); return false; });