html 在复选框列表中,如何只显示下一个未选中的项目?

t5fffqht  于 2023-10-14  发布在  其他
关注(0)|答案(1)|浏览(118)

我有一系列的复选框,是按照第一项到最后一项的顺序排序。我想做的是只显示下一个尚未选中的项目。虽然我现在在清单上有17个项目,但随着时间的推移,它可能会上下变化。
我一直在玩:倒数第n个孩子,但我无法实现我想要的。
下面是显示每个复选框项的HTML示例。

<div class="my-check-col-12">...</div>
<div class="my-check-col-12">
  <span class="fa-stack" style="">
    <i class="far fa-circle fa-stack-2x myc-text-type">
      ::before
    </i>
    <i class="fa-stack-1x fas fa-times myc-text-type">
    ::before
    </i>
  </span>
Item not complete</div>
<div class="my-check-col-12">...</div>

感谢所有帮助
谢谢

y4ekin9u

y4ekin9u1#

“使用JavaScript选中一个时,显示下一个未选中的同级复选框。使用nextElementSibling选择并切换显示类。简单,让待办事项一次只完成一项任务。”
超文本标记语言:

<div class="my-check-col-12">
  <input type="checkbox" class="checkbox">
  <span class="fa-stack" style="">
    <i class="far fa-circle fa-stack-2x myc-text-type"></i>
    <i class="fa-stack-1x fas fa-times myc-text-type"></i>
  </span>
  Item not complete
</div>

JavaScript:

// Get all checkboxes and their parent divs
const checkboxes = document.querySelectorAll('.checkbox');
const items = document.querySelectorAll('.my-check-col-12');

// Find the next unchecked checkbox and display its corresponding item
function showNextUncheckedItem() {
  for (let i = 0; i < checkboxes.length; i++) {
    if (!checkboxes[i].checked) {
      items[i].style.display = 'block';
      break;
    }
  }
}

// Call the function to display the next unchecked item
showNextUncheckedItem();

JavaScript可以找到下一个未选中的复选框,并在选中时显示其项。它选择下一个同级,检查是否未选中,并切换显示类以一次仅显示一个项。这有助于一件一件地处理待办事项清单,以保持动力,并保持大型任务的可行性。

相关问题