javascript - jquery 代码工作正常,但其他单选按钮干扰其工作

标签 javascript jquery

这里有两个jquery代码

代码1

$(document).ready(function() { 
    $("div.imgDisp").hide();
    $('[id="' + $(":radio:checked").val()+'"]').show();
    $(":radio").click(function() {      
        $("div.imgDisp").fadeOut('slow');
        $('[id="' + $(this).val()+'"]').fadeIn('slow');
    });
});

此代码隐藏选择单选按钮时的 div 检查这个 fiddle http://jsfiddle.net/nanoquantumtech/qudT2/3/

在此 fiddle 中,您可以在 name =“type”下看到一组 radio 。到这里为止一切正常..

还有其他一组单选按钮在不同的名称下..现在的问题是,当我单击不同名称下的任何单选按钮时,尽管它们与此 fiddle 代码无关,但单击它们会使效果无效这个 fiddle 的效果和这个 fiddle 的预期效果就消失了。 即,如果我单击除 fiddle 中显示的单选按钮之外的任何其他单选按钮,它们会使显示的结果隐藏,而 fiddle 中的结果应保留在屏幕上。我很惊讶..

同样的问题是我用来显示/隐藏文本文件的另一个 jquery 代码..[我省略了另一个代码,因为问题与该代码也相同]

伙计们,可能出了什么问题?提前致谢..

最佳答案

这里的问题是您正在为所有 radio 调用点击事件,即 $(":radio").click(function() { .. 仅将点击事件指定给那些 的 radio 名称=“类型”..

$('input[name="type"]:radio').click(function() {.... });

试试这个

$('input[name="type"]:radio').click(function() {
    $("div.imgDisp").fadeOut('slow');
    $('[id="' + $(this).val()+'"]').fadeIn('slow');
});    

这只会调用 name="type"和 radio 的输入的点击事件。

fiddle here

关于javascript - jquery 代码工作正常,但其他单选按钮干扰其工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14827984/

相关文章:

javascript - 在单一值上使用 Lodash 链

javascript - 无法读取属性 'getBounds' 。使用 addListenerOnce

jquery - Bootstrap 缩略图轮播从两行压缩为一行

javascript - 工具提示在生成的内容中不起作用

javascript - 在单击表单按钮后应用时,HTML 样式更改不会保留

javascript - 如何在 ionic 4 中为图像添加预加载器背景

javascript - CSS 滑动下划线

jquery - 获取数据属性值 onclick 链接/按钮

jquery - jquery UI datepicker 中 getDate 方法之后的 parsedate

jquery - 如何在 bxslider 上设置幻灯片持续时间