简体   繁体   English

单击收音机时显示/隐藏div

[英]Show/Hide div when click on radio

I've seen similar questions like this before but their example is using IDs. 之前我曾见过类似的问题,但他们的示例使用的是ID。 What if I want to use classes only? 如果我只想使用类怎么办?

jsfiddle 的jsfiddle

$(document).ready(function() {
    $("input[name$='cars']").click(function() {
        var test = $(this).val();

        $(".desc").hide(200);
        $(".desc" + test).show(200);
    });
});

If you wanted to remove the id attributes for identifying the div elements, you could use data() attributes instead. 如果要删除id属性以标识div元素,则可以改用data()属性。 Try this: 尝试这个:

<div class="desc" data-cars="2">2 Cars Selected</div>
<div class="desc" data-cars="3" style="display: none;">3 Cars</div>
$("div.desc").hide().filter(function() {
    return $(this).data('cars') == test;
}).show();

Example fiddle 小提琴的例子

Since you have mentioned that you want to use only classes instead of IDs. 既然您已经提到过,您只想使用类而不是ID。 You have to use unique class names for each HTML tag. 您必须为每个HTML标签使用唯一的类名称。

 $(document).ready(function() { $("input[name$='cars']").click(function() { var selectedClass = $(this).attr("class"); //alert(".dec" + selectedClass); $("div.desc").hide(); $(".desc." + selectedClass).show(); }); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> <div id="myRadioGroup"> 2 Cars <input type="radio" name="cars" checked="checked" value="2" class="2cars" />3 Cars <input type="radio" name="cars" value="3" class="3cars" /> <div class="desc 2cars"> 2 Cars Selected </div> <div class="desc 3cars" style="display: none;"> 3 Cars </div> </div> 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM