jQuery постоянно добавляет класс к событию

#javascript #jquery #addclass

#javascript #jquery #addclass

Вопрос:

У меня есть простая часть jQuery, которая добавляет класс в абзац, когда значение скрытого ввода изменяется на 1:

  $(document).ready(function() {
  if ($("#acf_success_sent").val() == 1){

  $("#acf_verified").addClass('gone');

  }
 });
  

Насколько я знаю, это должно сработать, но поскольку значение изменяется только на короткое время, я думаю, что класс добавляется только до тех пор, пока значение не изменится снова, поэтому это незаметно. Как я могу заставить класс придерживаться.

Большое спасибо

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

1. Что вы подразумеваете под «поскольку значение изменяется только на короткое время»? код кажется мне довольно простым

2. Проблема, должно быть, в другом месте вашего кода, поскольку в вашем примере класс был бы добавлен постоянно (если вы не удаляете его снова в другом месте).

3. Скрытое значение генерировалось в другом месте, приносим извинения за то, что было недостаточно ясно.

Ответ №1:

Ваш код не должен ничего делать, если только значение не равно 1 в DOM ready (потому что это единственный раз, когда он будет проверять это). Если вы хотите, чтобы он постоянно проверял значение, измените его на событие onchange.

 $(document).ready(function() {
   $("#acf_success_sent").change(function(){
    if ($("#acf_success_sent").val() == "1"){
     $("#acf_verified").addClass('gone');
     }
   });

 });
  

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

1. Кажется, это правильный ответ, однако я считаю, что скрытое значение меняется только периодически. Значение изменяется при успешной отправке формы. Я связался с разработчиком. Спасибо за вашу помощь.