Обнаружение изменения формы jquery с исключениями

#jquery #onchange

#jquery #onchange

Вопрос:

У меня есть функция, которая определяет, было ли изменение формы:

 $('#CreditForm').on('change paste', 'input, select, textarea', function(){
    console.log('form changed');
});
  

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

 $('#CreditForm').on('change paste', 'input, select, textarea').not('input[name="AppType"]') function(){
    console.log('form changed');
}); 
  

Каков был бы правильный синтаксис для достижения этой цели?

Комментарии:

1. Зачем усложнять. Вопрос касается правильного синтаксиса для показанного кода, и вопрос зависит не от содержимого формы, а от правильного синтаксиса jQuery.

Ответ №1:

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

 $('#CreditForm').on('change paste', 'input:not([name="AppType"]), select, textarea', 
  function(){
    console.log('form changed');
  }
);  
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form action="" id="CreditForm">
  <input type="text" value="I trigger">
  <input type="text" name=AppType value="I do not">
  <select name="" id="">
    <option value="1">1</option>
    <option value="2">2</option>
  </select>
  <textarea name="" id="" cols="30" rows="10"></textarea>
</form>  

Комментарии:

1. Идеальный. Спасибо!