使用javascript选择另一个选项后,循环隐藏选项无法正常工作

时间:2015-12-14 02:59:23

标签: javascript jquery html loops

我有 - / + 50选择循环选项。 使用javascript选择另一个后无法工作隐藏选项?

仅工作4选择选项。我已经改变了价值,但它仍然不起作用。

Javascript代码:

<script type="text/javascript">
function check() {
  d=document;
  myArray = [];
  for (h=1;h<4;h++) {
    myArray[h] = d.getElementById('drop'+(h+1)).value;
  }
  for (a=1;a<4;a++) {
    for (b=1;b<4;b++) {
    d.getElementById('drop'+(a+1)).options[b].style.display = "block";
      for (c=1;c<4;c++) {
        if(d.getElementById('drop'+(a+1)).options[b].value == myArray[c]) {
          d.getElementById('drop'+(a+1)).options[b].style.display = "none";
        }
      }
    }
  }
}
</script>

循环选择:

<select id="drop1" name="drop" onchange="check();"> 
  <option value="0"></option>
  <option value="3">One</option>
  <option value="5">Two</option>
  <option value="1">Three</option>
</select>

--------- looping select id="drop50" -------------

提前致谢:)

1 个答案:

答案 0 :(得分:1)

更改javascript代码:)

<script type="text/javascript">
function check(element)
{
  d=document;
  drops = d.getElementsByName('drop').length;
  opts = 99;
  for (i=1;i<drops+1;i++)
  {
    if (element.id != 'drop'+i && element.value != '0')
    {
      for (z=0;z<opts;z++)
      {
        if (d.getElementById('drop'+i).options[z].value == element.value)
        {
          d.getElementById('drop'+i).options[z] = null;
          break;
        }
      }
    }
  }
}
</script>