Менять несколько Select через только один с jquery

хороший как он говорит, что титул нуждался в том, чтобы изменить некоторые select когда я выбираю один, что я считаю это заголовком других, я помещу мой пример в код:

//Este es el select que tiene que cambia a los otros al yo seleccionar alguna de sus opciones
<select name="select_encabezado">
    <option value="1">uno</option>
    <option value="2">dos</option>
    <option value="3">tres</option>
</select>

<br><br>

//Select que deben ser afectados
<select name="otros_select[]">
    <option value="1">uno</option>
    <option value="2">dos</option>
    <option value="3">tres</option>
</select>
<select name="otros_select[]">
    <option value="1">uno</option>
    <option value="2">dos</option>
    <option value="3">tres</option>
</select>
<select name="otros_select[]">
    <option value="1">uno</option>
    <option value="2">dos</option>
    <option value="3">tres</option>
</select>
...
...

То есть, когда он изменится select заголовок, например в выбор "два", другие должны меняться в тот же выбор.

2
задан 06.01.2017, 17:51
0 ответов

Таким образом:

$('.select_encabezado').on('change', function() {
  $('.otros_select').val(this.value);
  // forma más larga
  //$('.otros_select').val(this.value).prop('selected', true);
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
//Este es el select que tiene que cambia a los otros al yo seleccionar alguna de sus opciones
<br>
<select name="select_encabezado" class="select_encabezado">
  <option value="1">uno</option>
  <option value="2">dos</option>
  <option value="3">tres</option>
</select>

<br>
<br> //Select que deben ser afectados
<br>
<select name="otros_select[]" class="otros_select">
  <option value="1">uno</option>
  <option value="2">dos</option>
  <option value="3">tres</option>
</select>
<select name="otros_select[]" class="otros_select">
  <option value="1">uno</option>
  <option value="2">dos</option>
  <option value="3">tres</option>
</select>
<select name="otros_select[]" class="otros_select">
  <option value="1">uno</option>
  <option value="2">dos</option>
  <option value="3">tres</option>
</select>

Прием находится в классе otros_select, каждый раз, когда он меняет главный select, мы меняем другие select на событие on.

4
ответ дан 03.12.2019, 17:51

Используя jQuery ты можешь делать следующее:

$('select[name="select_encabezado"]').on('change', function() {
  $('select[name*=otros_select]').val(this.value);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<select name="select_encabezado">
    <option value="1">uno</option>
    <option value="2">dos</option>
    <option value="3">tres</option>
</select>

<br><br>

<select name="otros_select[]">
    <option value="1">uno</option>
    <option value="2">dos</option>
    <option value="3">tres</option>
</select>
<select name="otros_select[]">
    <option value="1">uno</option>
    <option value="2">dos</option>
    <option value="3">tres</option>
</select>
<select name="otros_select[]">
    <option value="1">uno</option>
    <option value="2">dos</option>
    <option value="3">tres</option>
</select>

Update: Благодаря @PaulVargas из-за Вашего комментария

Объяснение:

  • Мы не подписываем в событие change первого select (eg: select_encabezado)
  • Потом, каждый раз, когда обнаружено вышеупомянутое событие, мы ищем другие select используя селектор признака CSS.
  • И из-за каждого из этих seteamos стоимость, равная стоимости первого.
2
ответ дан 03.12.2019, 17:51

Теги

Похожие вопросы