javascript - jQuery 通过选择不同的复选框显示动态 div

标签 javascript jquery html css

我想通过选择不同的checkbox来显示联系人信息,如下图:

enter image description here

这是我的代码:

$(document).ready(function() {
  $('input[type="checkbox"]').on('change', function() {
    $('input[name="' + this.name + '"]').not(this).prop('checked', false);
    $(this).closest('div').css("display", "block");
  });
});	
.receipt_info{
  display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table class="table">
  <tbody>
    <tr>
      <td>
        <input type="checkbox" name="receipt[]"/>
      </td>
      <td>Option1
        <div class="receipt_info">
          <div>
            <label>name1</label>
          </div>
          <div>
            <label>phone1</label>
          </div>
          <div>
            <label>address1</label>
          </div>
        </div>
      </td>
    </tr>

    <tr>
      <td>
        <input type="checkbox" name="receipt[]"/>
      </td>
      <td>Option2
        <div class="receipt_info">
          <div>
            <label>name2</label>
          </div>
          <div>
            <label>phone2</label>
          </div>
          <div>
            <label>address2</label>
          </div>
        </div>
      </td>
    </tr>
  </tbody>
</table>

我想我选择了错误的 div,但我不知道如何修复它。

最佳答案

通过你的div 和由td 分隔的复选框你应该使用jQuerys parents获取父 tr 并从那里开始搜索相应的 receipt_info

像这样:

$(this).parents('tr').find('.receipt_info').show();

我编辑了你的 jsfiddle here .

关于javascript - jQuery 通过选择不同的复选框显示动态 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40716753/

相关文章:

javascript - S3 使用流时上传损坏的文件

javascript - 当数字有前导零时会发生什么?

javascript - 如何选择一个事件监听器,让我等到 async.times 完成运行一个函数

Javascript 输入字段仅在显示时才需要?

JavaScript:覆盖函数

javascript - 选择多选隐藏显示错误

javascript - 如何删除对象数组中的对象: jquery?

html - 在 Vista 上,我应该将 Spotify 应用程序放在什么目录中?

javascript - 如何动态更改物化 CSS 中的 Accordion 元素?

html - 与 count 合并以获取 mysql 中出现次数最多的值