2

I have two html select objects named with the same name (they are arrays with different indexes).

What I am trying to do, is if "off" is selected from the category[0] select element, I would like to disable the category[1] element. I have been trying to use document.getElementsByName() but am having no luck figuring out how to specifically target the category[1] array. See below for example code.

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

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

My question is how can I modify the properties of an HTML object that is an array? I understand I could do this easily using ID's but I would like to learn how to do this using an array.

Thanks

2 Answers 2

3

Untested:

<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>
Sign up to request clarification or add additional context in comments.

1 Comment

Thank you! By using the document.getElemetnsByTagName() I was able to modify the other properties using the var[i].property method.
2
<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>

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.