当名称是使用Javascript的数组时,如何修改HTML选择

当名称是使用Javascript的数组时,如何修改HTML选择,javascript,html,arrays,dom,Javascript,Html,Arrays,Dom,我有两个同名的html select对象(它们是具有不同索引的数组) 我想做的是,如果从类别[0]选择元素中选择了“关”,我想禁用类别[1]元素。我一直在尝试使用document.getElementsByName(),但我不知道如何专门针对类别[1]数组。参见下面的示例代码 <select name='category[0]'> <option value='0'>off</option> <option value='1'>on

我有两个同名的html select对象(它们是具有不同索引的数组)

我想做的是,如果从类别[0]选择元素中选择了“关”,我想禁用类别[1]元素。我一直在尝试使用document.getElementsByName(),但我不知道如何专门针对类别[1]数组。参见下面的示例代码

<select name='category[0]'>
    <option value='0'>off</option>
    <option value='1'>on</option>
</select>

<select name='category[1]'></select>

关
在…上
我的问题是如何修改作为数组的HTML对象的属性?我知道我可以很容易地使用ID来实现这一点,但我想学习如何使用数组来实现这一点


谢谢未经测试:

<select name='category[0]'>
    <option value='0'>off</option>
    <option value='1'>on</option>
</select>

<select name='category[1]'></select>

<script>
var selects = document.getElementsByTagName('select');

for ( var i = 0, len = selects.length; i<l; ++i ) {
    if ( selects[i].name == 'category[1]' ) {
        // operate on selects[i];
        // you can also rely on getAttribute('name')
    }
}

</script>

关
在…上
var selects=document.getElementsByTagName('select');
对于(变量i=0,len=selects.length;i

关
在…上
函数disCat(val){
如果(val!=“0”)返回;
var sels=document.getElementsByTagName(“选择”);

对于(i=0;i谢谢你!通过使用document.getElemetnsByTagName()我可以使用var[i].property方法修改其他属性。
<select name='category[0]' onChange="disCat(this.value);">
    <option value='0'>off</option>
    <option value='1'>on</option>
</select>
<script type="text/javascript">
function disCat(val){
  if(val!="0") return;
  var sels=document.getElementsByTagName("select");
  for(i=0;i<sels.length;i++)
  {
    if(sels[i].getAttribute('name')=='category[1]') sels[i].disabled=true;
  }
}
</script>