Получение значений из выбранной опции в меню выбора и повторение их в похожих выбранных меню Java Script, PHP

#javascript #php

#javascript #php

Вопрос:

У меня есть следующее меню выбора, которое будет повторяться 8 раз php для цикла. Я хочу, используя js, установить событие onchange для повторения выбранной опции из первого меню в остальных 7 меню, а также, конечно, повторить значение опции. Учитывая, что я прочитал значения меню выбора для таблицы mysql:

 for ($a=1; $a<=$n; $a  ) 
{ 
readtable_no_order ("rooms"); //php function to read table
echo '<select name="hOffers['.$a.']'.'" class= "select">';
echo '<option value="" selected="selected"></option>';
while ($row=mysql_fetch_array ($result))
{echo '<option value ="'. $row['room'] . '">'. 
  $row['room'] . '</option>';}
  echo '</select><br>';

 }
 

Заранее спасибо.

Ответ №1:

измените свой html на

 <select name="rooms" class="rooms"> 
<option value="single">Single</option> 
<option value="double">Double</option> 
<option value="triple">Triple</option> 
</select>
 

и добавьте js:

 elements = document.getElementsByClassName('rooms');
for (i=0; i<elements.length; i  ) {
    elements[i].onchange = function() {
        for (i=0; i<elements.length; i  ){
        elements[i].value = this.value;
        }

    }
}
 

Комментарии:

1. спасибо за то, что он не работает должным образом, поскольку я использую цикл while для установки параметров выбора. таким образом, все параметры меняются на single, double. Я бы хотел, чтобы каждый отдельный параметр менялся соответственно. еще раз спасибо!

Ответ №2:

Вам нужно использовать уникальные идентификаторы в HTML :

 <?php
    for ($i = 0;$i < 8;$i  ) {
      echo '<select named="rooms" id="rooms'.$i.'" class="cbo_room">'
    }
 

Используйте класс для группировки выпадающих списков вместе :

 $(function() {
        $('.cbo_room').change(function() {
            console.log($(this).val());
       });
});
 

Комментарии:

1. Кажется, я забыл, что some () обновил код. Пожалуйста, не это всего лишь небольшой пример, а не полный рабочий код