首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >html5网站加载表

html5网站加载表
EN

Stack Overflow用户
提问于 2018-04-13 21:31:57
回答 2查看 81关注 0票数 0

大家好,我不太确定我是否问对了这个问题,因为这是我第一次编码。如果有人能给我指出正确的学习方向,并提出正确的问题,那就太棒了。

所以我试着写一个维修服务网站,当客户选择一个品牌说“惠普”,一个表格的惠普笔记本电脑型号将显示为选项。但如果客户选择“苹果”,桌上的笔记本电脑型号将被苹果笔记本电脑型号所取代。

代码语言:javascript
复制
    <div class ="container" id="repair">
    <ul class="brand">
    <li data-id="1" class>Apple</li>
    <li data-id="2" class>Lenovo</li>
    <li data-id="3" class>Dell</li>
    <li data-id="4" class>HP</li>
    </ul><!-- end of brand -->

    <div class ="title">Model</div>
    <ul id="model" class="model">
    <li data-id="11" data-name="MacBook Air">MacBook Air</li>
    <li data-id="12" data-name="MacBook Pro">MacBook Pro</li>
    <li data-id="13" data-name="MacBook">MacBook</li>
    <li data-id="21" data-name="Lenovo X260">Lenovo X260</li>
    <li data-id="22" data-name="Lenovo X270">Lenovo X270</li>
    <li data-id="23" data-name="Lenovo X280">Lenovo X280</li>
    <li data-id="31" data-name="Dell Latitude 1400">Dell Latitude 1400</li>
    </ul> <!--end of table-->
</div>

所以我的问题是,当选择了data-id 1时,我如何编写它,只显示data-id 11,12,13,而其他的都不显示?

谢谢

EN

回答 2

Stack Overflow用户

发布于 2018-04-13 21:37:16

您可以在model列表中检查data-idcharAt(0)。如果匹配,则显示它们。考虑到您单击brandli元素

代码语言:javascript
复制
$('.brand li').click(function(){
  var dataId = $(this).data('id').toString();
  $('#model li').hide();
  $('#model li').each(function(){
    if($(this).data('id').toString().charAt(0) === dataId){
      $(this).show();
    }
  });
});
代码语言:javascript
复制
#model li{
 display: none;
}
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class ="container" id="repair">
    <ul class="brand">
      <li data-id="1" class>Apple</li>
      <li data-id="2" class>Lenovo</li>
      <li data-id="3" class>Dell</li>
      <li data-id="4" class>HP</li>
    </ul><!-- end of brand -->

    <div class ="title">Model</div>
      <ul id="model" class="model">
        <li data-id="11" data-name="MacBook Air">MacBook Air</li>
        <li data-id="12" data-name="MacBook Pro">MacBook Pro</li>
        <li data-id="13" data-name="MacBook">MacBook</li>
        <li data-id="21" data-name="Lenovo X260">Lenovo X260</li>
        <li data-id="22" data-name="Lenovo X270">Lenovo X270</li>
        <li data-id="23" data-name="Lenovo X280">Lenovo X280</li>
        <li data-id="31" data-name="Dell Latitude 1400">Dell Latitude 1400</li>
      </ul> <!--end of table-->
</div>

票数 0
EN

Stack Overflow用户

发布于 2018-04-13 21:45:20

我们可以将所有的品牌和商品存储为一个JSON对象,如下所示:

代码语言:javascript
复制
"Products": [
    "Apple": {
        "MacBook",
        "MacBook Air",
        "MacBook Pro"
    },
    "HP": {
        "..."
    },
    ...
]

然后,我们可以在JavaScript文件中使用它来外部修改列表的内容。对于选择,我将使用 tag

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49818251

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档