Как выполнять действия метода on (change, не меняя стоимости вручную

У меня есть select с несколькими выборами. Когда выбирается выбор, работают несколько действий (загружается стоимость в неударе в лунку text, меняется стоимость в других select, и т.д.). Это это проконтролировало с:

$(document).on('change', '.select', function () 
            {

После того, как был выбран выбор и работали действия, пользователь записывает в BD отборную стоимость.

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

Вопрос состоит в том, чтобы знать, существует ли метод, который позволял бы, что работали действия в setear в select, стоимости, хранившейся в BD.

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

jQuery поставляет mГ©todo .trigger(), который выполняет все драйверы и события, ассоциируемые с совпадающими элементами для типа данного события.

Пример использования:

$(function() {
  var $res = $('#resultado'),
      $select = $('#select');
 
  function mostrarOpcionSeleccionada() {
    var $option = $select.find('option:selected');
    
    $('#resultado').text($option.text() + ' (' + $option.val() + ')');
  }

  $select.on('change', mostrarOpcionSeleccionada);
  
  // 
  $select.trigger('change');
});
<script src="https://code.jquery.com/jquery-2.2.4.min.js"></script>

<select id="select">
  <option> - </option>
  <option value="1">Uno</option>
  <option value="2" selected>Dos</option>
</select><br/>
Opción seleccionada: <span id="resultado"></span>
1
ответ дан 24.11.2019, 12:26

Я предлагаю, чтобы ты это сделал:

    $(document).on('change', '.select', function () 
    {
        f(); // Aquí está toda tu lógica
    });

И потом, когда ты захочешь сделать все то, что внутри события change компонента select, просто позвони в функцию f ()

0
ответ дан 24.11.2019, 12:26

Теги

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