Как вызвать событие изменения на входе, когда я выбираю опцию из выбора, используя jQuery? - PullRequest
0 голосов
/ 08 мая 2018

Я использую jQuery для запуска события в моем проекте.Я хочу вызвать изменение входного события, когда я выбираю опцию из выбора, и когда я выбираю опцию, входное значение будет изменено вместе со значением опции и покажет длину нового значения.

Кроме того, я хочу вызвать изменение события на входе, но оно не работает для меня, я пробую много раз, но не работает:

$(document).ready(function() {
  var oldVal;
  var checkLength = function(val) {
    $('label').html(val.length);
  }

  $('input').bind('change textInput input', function() {
    var val = this.value;
    if (val !== oldVal) {
      oldVal = val;
      checkLength(val);
    }
  });

  $("select").change(function() {
    var str = "";
    $("select option:selected").each(function() {
      str += $(this).text() + " ";
    });
    $("input").val(str);
  })
}); 

Ответы [ 2 ]

0 голосов
/ 08 мая 2018

Вот как бы я это сделал.

  1. Добавить change прослушивателей событий на обоих.
  2. Обновить ввод значением, выбранным в теге выбора
  3. Триггер change событие оттуда

$("#s").change(function(){
   console.log("Option selected");
   $("#d").val($(this).val());
   $("#d").trigger("change");
});

$("#d").change(function(){
  console.log("input modified")
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<input type="text" id="d" />

<select id="s">
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="3">3</option>
  <option value="4">4</option>
</select>
0 голосов
/ 08 мая 2018

Попробуйте вручную вызвать событие изменения ввода, как это

*$( "input" ).trigger("change");*
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...