Careful_S 2024-08-16 20:30 采纳率: 33.3%
浏览 4
已结题

html实现筛选出错

我做了一个很简单的用于筛选的html,我感觉逻辑没有问题,但是当我选择“庚—辛”时却只筛选出了“庚↔辛”,而过滤掉了本身,“壬—癸”也一样


<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>ZBLL</title>
<link rel="icon" type="image/png" href="../../../Favicon.png">
<style>
  body {
    background-color: #5d4ea8;
    margin: 0;
    padding: 20px;
  }
select option:hover {
    background-color: #5d4ea8;
}
  h1{
    color: #24f0ea;
    text-shadow: 10px 10px 17px #55367a;
  }
  p{
    margin: 0;
  }
  select {
    padding: 10px;
    margin-right: 10px;
    border: 3px solid #24f0ea;
    border-radius: 13px;
    background-color: #a0a2de;
    color: #55367a;
    text-align: center;
    margin-top: 7px;
    box-shadow: 10px 10px 17px;
  }
  div{
    background-color: #5d4ea8;
    border: 3px solid #24f0ea;
    padding: 10px;
    margin-top: 10px;
    border-radius: 17px;
    color: #55367a;
    box-shadow: 10px 10px 17px;
  }
  iframe {
    border: none;
  }
  .Top{
    background-color: #5d4ea8;
    border: 3px solid #24f0ea;
    padding: 10px;
    color: #24f0ea;
    box-shadow: 0px 17px 25px #55367a;
    margin: 0;
    position: fixed;
    right: 0px;
    left: 0px;
    top: 0px;
    border-radius: 0px 0px 17px 17px;
    z-index: 999
  }
  .None{
    all: revert;
    float: right;
  }
  #content-list {
    list-style: none;
    padding: 0;
  }
  #content-list li {
    background-color: #a0a2de;
    border: 3px solid #24f0ea;
    padding: 10px;
    margin-top: 10px;
    border-radius: 13px;
    color: #55367a;
    box-shadow: 10px 10px 17px;
  }
</style>

<script>
document.addEventListener('DOMContentLoaded', function() {
    const selects = document.querySelectorAll('select');
    const contentList = document.getElementById('content-list');
function filterContent() {
    const filterA = selects[0].value;
    const filterB = selects[1].value;
    const filterC = selects[2].value;
    const filterD = selects[3].value;
    contentList.innerHTML = '';
    const items = [
        { text: "T01", attrs: ["壹=乙=贰", "丁=戊=己", "庚=辛", "壬=癸"] },
        { text: "T12", attrs: ["壹=乙=贰", "丁=己", "庚↔辛", "壬—癸"] },
        { text: "T06", attrs: ["壹=乙=贰", "丁=己", "庚—辛", "壬↔癸"] },
        { text: "T02", attrs: ["壹=贰", "丁=戊=己", "庚↔辛", "壬—癸"] },
        { text: "T03", attrs: ["壹=贰", "丁=戊=己", "庚—辛", "壬↔癸"] },
        { text: "T09", attrs: ["壹=贰", "丁↔戊↔己", "庚=辛", "壬—癸"] },
        { text: "T08", attrs: ["壹=贰", "丁↔戊↔己", "庚—辛", "壬=癸"] },
        { text: "T??", attrs: ["壹=贰", "丁↔戊↔己", "庚↔辛", "壬↔癸"] }
    ];

    items.forEach(item => {
        if ((filterA === '' || item.attrs[0] === filterA) &&
            (filterB === '' || item.attrs[1] === filterB) &&
            (filterC === '' || item.attrs[2] === filterC) &&
            (filterD === '' || item.attrs[3] === filterD)) {
            const li = document.createElement('li');
            li.textContent = `"${item.text}",特征:${item.attrs.join(', ')}`;
            contentList.appendChild(li);
        }
    });
}
    selects.forEach(select => {
        select.addEventListener('change', filterContent);
    });
    filterContent();
});
</script>
</head>
<body>
<br/>
<div class="Top">
      <div style="float: left;" class="None">Ckarefulon</div>
      <div class="None">Ckareful S.</div>
      <div class="None"><img style="width: 20px;height: 20px" src="../../../Favicon.png"></div>
      <div style="margin-right: 7px;"class="None">by</div>
</div>
<div style="
  width: 267px;
  position: fixed;
  right: 20px;
  margin-top: 30px;
  z-index: 997
">
<iframe src="Cube.svg" width="267" height="267"></iframe>
</div>
<h1>选择特征</h1>
<select>
    <option value="">【壹乙贰】</option>
    <option value="壹=贰">壹=贰</option>
    <option value="壹↔贰">壹↔贰</option>
    <option value="壹=乙=贰">壹=乙=贰</option>
    <option value="壹↔乙↔贰">壹↔乙↔贰</option>
</select>
<select>
    <option value="">【丁戊己】</option>
    <option value="丁=己">丁=己</option>
    <option value="丁↔己">丁↔己</option>
    <option value="丁=戊=己">丁=戊=己</option>
    <option value="丁↔戊↔己">丁↔戊↔己</option>
</select>
<select>
    <option value="">【庚辛】</option>
    <option value="庚=辛">庚=辛</option>
    <option value="庚↔辛">庚↔辛</option>
    <option value="庚↔辛">庚—辛</option>
</select>
<select>
    <option value="">【壬癸】</option>
    <option value="壬=癸">壬=癸</option>
    <option value="壬↔癸">壬↔癸</option>
    <option value="壬↔癸">壬—癸</option>
</select>


<h1>公式</h1>
<ul id="content-list"></ul>
</body>
</html>

非常感谢您的回复!

  • 写回答

2条回答 默认 最新

  • Careful_S 2024-08-17 09:12
    关注

    我知道了,就是value错了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 8月25日
  • 已采纳回答 8月17日
  • 修改了问题 8月16日
  • 创建了问题 8月16日

悬赏问题

  • ¥15 如何在vue.config.js中读取到public文件夹下window.APP_CONFIG.API_BASE_URL的值
  • ¥50 浦育平台scratch图形化编程
  • ¥20 求这个的原理图 只要原理图
  • ¥15 vue2项目中,如何配置环境,可以在打完包之后修改请求的服务器地址
  • ¥20 微信的店铺小程序如何修改背景图
  • ¥15 UE5.1局部变量对蓝图不可见
  • ¥15 一共有五道问题关于整数幂的运算还有房间号码 还有网络密码的解答?(语言-python)
  • ¥20 sentry如何捕获上传Android ndk 崩溃
  • ¥15 在做logistic回归模型限制性立方条图时候,不能出完整图的困难
  • ¥15 G0系列单片机HAL库中景园gc9307液晶驱动芯片无法使用硬件SPI+DMA驱动,如何解决?