Как изменить HTML Выберите, когда имя является массивом с использованием Javascript - PullRequest
2 голосов
/ 27 августа 2009

У меня есть два html-объекта с одинаковыми именами (это массивы с разными индексами).

То, что я пытаюсь сделать, - это если выбрано «off» в элементе category [0] select, я бы хотел отключить элемент category [1]. Я пытался использовать document.getElementsByName (), но мне не повезло выяснить, как конкретно нацелить массив category [1]. Ниже приведен пример кода.

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

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

Мой вопрос: как я могу изменить свойства объекта HTML, который является массивом? Я понимаю, что я мог бы легко сделать это, используя идентификаторы, но я хотел бы узнать, как сделать это, используя массив.

Спасибо

Ответы [ 2 ]

3 голосов
/ 27 августа 2009

Непроверенные:

<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>
2 голосов
/ 27 августа 2009
<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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...