javascript - 仅当用户选择当前 div 上的单选按钮时才显示下一个 div

标签 javascript jquery html


只有当他从当前 div 中选择一个单选按钮时,我才需要向用户显示下一个 div ...让我解释一下:

<h1>First question</h1>
<input type="radio" id="2" value="Dog">Dog<br>
<input type="radio" id="2" value="Cat">Cat<br>
<br>
<div id='2div'><h1>Second question</h1>
<input type="radio" id="3" value="Blue">Blue<br>
<input type="radio" id="3" value="Green">Green<br>
</div>

(我有类似 39 div 的东西)

只有当用户选择 div1 上存在的两个单选按钮之一时,我才需要显示 div2。

我试过:

$(document).ready(function () {

$('div').hide();

$("input[type=radio]").change(function() {

     $( '#' + $(this).attr('id') + 'div' ).show();

    $('div:not(#' + $(this).attr('id') + 'tab)' ).hide();

});

});

但是不工作...

我该怎么做? 谢谢

最佳答案

主要问题似乎是 <div>显示然后立即再次隐藏。

例如,#2div已显示。
但它也不是#2tab , 所以它是隐藏的。

另请注意 IDs must be unique在 HTML 中。
考虑使用 data attribute相反。
参见 jQuery's data() .

$(function() {

  $("input[type=radio]").change(function() {

    var id = $(this).data('id');
    $('#' + id + 'div').show();
    //$('div:not(#' + id + 'tab)').hide();

  });

});
div {
  display: none;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<h1>First question</h1>
<input type="radio" name="animal" data-id="2" value="Dog">Dog<br>
<input type="radio" name="animal" data-id="2" value="Cat">Cat<br>
<br>
<div id="2div">
  <h1>Second question</h1>
  <input type="radio" name="color" data-id="3" value="Blue">Blue<br>
  <input type="radio" name="color" data-id="3" value="Green">Green<br>
</div>
<div id="3div">
  <h1>Third question</h1>
  <input type="radio" name="shape" data-id="4" value="Blue">Round<br>
  <input type="radio" name="shape" data-id="4" value="Green">Square<br>
</div>

关于javascript - 仅当用户选择当前 div 上的单选按钮时才显示下一个 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55291634/

相关文章:

javascript - 如何在 Asp.net MVC View 中嵌入 javascript

Javascript根据数组本身找到二维数组中的最高值

javascript - 为什么传奇效应没有被调用?

jquery - 是否有相当于 .closest() 的方法,可以向下而不是向上搜索 DOM 树?

jquery - 处理 jquery.ajax 中的附件文件

jQuery 调用 WebService 返回 "No Transport"错误

javascript - 如何在上传多个选定视频之前进行多个视频预览

javascript - 如何 react 性地在 meteor 中运行一个函数?

html - Bootstrap 4 网格 - 行的长度不同

html - CSS * :not(div p) does not select anything