代码之家  ›  专栏  ›  技术社区  ›  MailBlade

使用>=会给出错误的结果吗?

  •  1
  • MailBlade  · 技术社区  · 7 年前

    我有两张每张10行的桌子。有两个下拉列表。第一个编号为1-10,第二个编号为11-20。

    现在,第1-10行都在同一个类中,第11-20行在同一个类中。

    问题是,假设我只选择第二个下拉列表并选择“13”,它应该只给出从“11-13”编号的行,而不是从“1-10”编号的行。目前,如果我从第二个下拉列表中选择一个值,它也会自动显示1-10之间的行。它不应该这样做。

    类为的容器行的第一个循环 <tr class="input-containers Container1"></tr> 高达 <tr class="input-containers Container10"></tr>

    <script>
    $(document).ready(function() {
      function hideAllContainers() {
    
        $(".input-containers").hide();
        $("#input-containers").show();
      }
      //#containers is the dropdown with options 1-10
      $('#containers').on('change', function() {
    
        hideAllContainers();
        var count = parseInt(this.value);
    
        for (i = 1; i <= count; i++) {
        console.log($(".Container" + i));
          $(".Container" + i).show();
        }
      });
    });
    </script>
    

    具有类的容器行的第二个循环 <tr class="input-secondcontainers Container11"></tr> 高达 <tr class="input-secondcontainers Container20"></tr>

    <script>
    $(document).ready(function() {
      function hideAllContainers2() {
    
        $(".input-secondcontainers").hide();
        $("#input-secondcontainers").show();
    
      }
      //#containers2 is the dropdown with options 11-20
      $('#containers2').on('change', function() {
    
        hideAllContainers2();
        var count = parseInt(this.value);
    
        for (i = 1; i >= count; i++) {
        console.log($(".Container" + i));
          $(".Container" + i).show();
        }
      });
    });
    </script>
    
    1 回复  |  直到 7 年前
        1
  •  2
  •   Tiago Machado    7 年前

    在第二个for循环中尝试以下操作:

     $('#containers2').on('change', function() {
    
        hideAllContainers2();
        var count = parseInt(this.value);
    
        for (i = 11; i <= count; i++) {
        console.log($(".Container" + i));
          $(".Container" + i).show();
        }
      });