Как узнать, что входные значения изменились в jQuery - PullRequest
0 голосов
/ 17 марта 2020

Я работал в режиме фильтра. Здесь более одного поля ввода. Как один выбор, ввод текста, нажатие кнопки. Все они принадлежат одному классу с именем «filter-option». Когда любой из этих модификаций, я должен предупредить значение внутри jQuery.

Я пробовал код ниже, но не работает.

$("body").on('DOMSubtreeModified', "filter-option", function() {
    alert('changed');
});

Ответы [ 3 ]

1 голос
/ 17 марта 2020

Если вы хотите, чтобы событие вызывалось при изменении чего-либо внутри элемента, вы можете использовать события change, keyup, blur .

$("body").on('change keyup blur', "filter-option", function() {
   alert('changed');
});

см. Также: Обнаружение изменения входа в jQuery?

0 голосов
/ 18 марта 2020

Я думаю, что лучший способ - сохранить флаг в data-attribute вашей формы.

$(document).on("change", "#your_form_id :input", function () {
$("#your_form_id").data("changed", true);
alert("changed");
});

Это вызовет событие изменения всех полей ввода внутри тега формы.

0 голосов
/ 17 марта 2020

Вы можете использовать функцию Keyup.

Keyup

<script type="text/javascript">
 $(document).ready(function () {
   $('#SelectorName').keyup(function () { alert('text changed'); });
 });
</script>

ИЛИ, используя keypress

нажатие

<input type="text">

Jquery

$(document).ready(function(){
  $("input").keypress(function(){
  alert("clicked");
  });
});

ИЛИ с использованием blur().

размытие

blur дает вам событие изменения, только когда вы нажимаете на что-то еще после ввода значения в поле ввода.

function yourFunction() {
  alert("clicked");
}
<input type="text" id="fname" onblur="yourFunction()">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...