Как запустить функцию ввода второго тега ввода из функции первого тега ввода - PullRequest
0 голосов
/ 14 января 2020

Я хочу запустить функцию ввода второго тега ввода из функции ввода первого тега. Это работает с функцией onchange 2-й функции тегов ввода. Вот пример функции onchange: - .onChange ()

HTML

<input type="text" id="a"/>
<input type="text" id="b"/>

JQuery это работает

$('#a').on("change",function() {
    $('#b').change();
});

$('#b').on("change",function() {
    alert($(this).index());
});

но проблема в том, когда я изменил $('#b').change(); на $('#b').input();, ничего не работает .

Пример ввода: есть: -

JQuery ничего не работает

$('#a').on("change",function() {
    $('#b').input();
});

$('#b').on("input",function() {
  alert($(this).index());
});

Пожалуйста, сообщите мне решение этой проблемы.

Ответы [ 4 ]

4 голосов
/ 14 января 2020

В jQuery нет метода ввода (). Ошибка в консоли должна указывать: «вход не является функцией». Использование должно использовать trigger

$('#a').on("change",function() {
    $('#b').trigger('input');
});

$('#b').on("input",function() {
  alert($(this).index());
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" id="a" />
<input type="text" id="b" />
1 голос
/ 14 января 2020

Вы также можете использовать Триггер для запуска определенных c событий.

$('#a').on("change",function() {
    $('#b').trigger("input");
});

$('#b').on("input",function() {
  alert($(this).index());
});
1 голос
/ 14 января 2020

Это потому, что вы должны вызвать «вход». Вместо $('#b').input() попробуйте использовать $('#b').trigger("input")

0 голосов
/ 14 января 2020

Лично я бы сказал, чтобы извлечь метод, чтобы избежать перенаправления всех ваших логи c через DOM.

function alertB () {
  alert($b.index());
}

var $b = $('#b').on("input", alertB);

$('#a').on("change", alertB);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...