Изменить событие, чтобы проверить изменение в любом элементе формы - PullRequest
0 голосов
/ 20 октября 2019

У меня есть кнопка с отключенной кнопкой, которая активируется при действительной форме. С помощью функции ниже я проверяю изменения, и она работает, если форма состоит только из входных данных. Как я могу проверить изменения в других элементах, таких как select или checkbox?

$("#create-rule-form").parsley();
$('input').on('keyup', function() {
  $("#create-rule-form").parsley().validate();
  if ($("#create-rule-form").parsley().isValid()) {
    $('#create-rule-btn').prop('disabled', false);
  } else {
    $('#create-rule-btn').prop('disabled', 'disabled');
  }
});

Ответы [ 2 ]

2 голосов
/ 20 октября 2019

Используйте селектор jQuery :input, он соответствует всем тегам, которые используются для ввода формы.

$(":input").on('edit change').function() {
  // code here
});
0 голосов
/ 20 октября 2019

Вы можете использовать $('form').find('*'), чтобы выбрать всех детей и внуков формы, а затем применить событие ко всем из них, как показано ниже.

Кроме того, я считаю, что вы должныдескриптор change вместо keyup, так как keyup не будет работать с флажками и раскрывающимися списками.

$('form').find('*').on('change', function() {
  //do stuff
});
...