点击单选按钮jQuery不起作用

4

我的代码:

$(document).ready(function(){
    alert("document ready");

    $("input[type=radio]").click(function(event){
        alert("clicked");
    });
});

但是没有警报弹出……当在控制台上输入:
$(document).ready(function(){ alert("文档已准备就绪");})我收到了警报!这里到底发生了什么?


3
这段代码在哪里?它在一个<script>标签中吗? - Andrew Whitaker
1
在jsFiddle上给个例子怎么样? - j08691
(工作中)fiddle:http://jsfiddle.net/xnyWd/ - Andrew Whitaker
你的代码在 jsfiddle 上运行正常 http://jsfiddle.net/Lkxtv/1/,所以问题可能是只有一个单选按钮还是多个?你使用的 jQuery 版本是哪个? - Hieu Van Mach
4个回答

4

建议使用.change()代替.click()来实现相应功能。

$(document).ready(function(){
    alert("document ready");
    $("input[type=radio]").change(function(){
        alert("clicked");
    });
});

谢谢,我已经寻找过类似的东西了,但是没有找到! - 11684
从jQuery文档中:此事件仅限于<input>元素,<textarea>框和<select>元素。对于选择框、复选框和单选按钮,当用户使用鼠标进行选择时,该事件会立即触发,但对于其他类型的元素,该事件将推迟到元素失去焦点时才会触发。 - mguymon

2
我找到了解决方案,同时也解释了为什么在JSFiddle中可以工作。
问题出在我导入jQuery的方式上:我原本写成了

<script type="text/javascript" src="jQuerylink" />

但是正确的应该是

<script type="text/javascript" src="jQuerylink" ></script>

我不知道为什么会这样,但现在它能够正常工作了。感谢你们的所有努力。


1

0
根据jQuery选择器文档[link],你应该用双引号括起参数值:
$('input[type="radio"]').click(function(event){

或者

$("input[type=\"radio\"]").click(function(event){

更新:JSFiddle 示例


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接