JQuery не идентифицирует класс как селектор

У меня есть две функции JQuery, одна из которых вставляет новую динамическую строку в форму при нажатии кнопки, а другая функция проверяет ячейку в этой строке.

var currentItem = 11;
$('#addnew').click(function(){
  currentItem++;
  $('#items').val(currentItem);
  var strToAdd = '<tr><td><select class = "form-control select2 productSelect" name = "product'+currentItem+'" id = "product'+currentItem+'" style = "width: 100%"> <option disabled selected value> -- select a Product -- </option>'+ <?php foreach ($productData as $product) { echo "'<option value = " . $product->product_id . ">" . $product->product_name . "</option>'+";}?> '</select> </td><td><input class = "form-control quantitySelect" name = "quantity'+currentItem+'" id  = "quantity'+currentItem+'"type = "text" /></td><td><input class = "form-control"  name = "freeIssue'+currentItem+'" id = "freeIssue'+currentItem+'" type = "text" /></td> <td align = "center"><button  class = "btn btn-danger" name = "close" id = "close" onclick = "SomeDeleteRowFunction(this)"><i class = "fa fa-close"></i></button></td></tr>';

  $('#data').append(strToAdd);


});

Здесь я беру имя класса productSelect в качестве идентификатора для второй функции, выполняющей проверку. Но он не распознал класс, и проверка не работает для строк, которые я добавляю в форму с помощью вышеуказанной функции.

  $('.productSelect').change(function () {

  var elementID = $(this).attr("id");
  var numberPart = elementID.split("t", 2);

  if ($(this).val() != null ) {
    $('#quantity'+ numberPart[1]).prop('required',true);
  }
});

Так выглядит весь код

<script type='text/javascript'>

$(document).ready(function() {

$('.productSelect').change(function () {

  var elementID = $(this).attr("id");
  var numberPart = elementID.split("t", 2);

  if ($(this).val() != null ) {
    $('#quantity'+ numberPart[1]).prop('required',true);
  }
});

var currentItem = 11;
$('#addnew').click(function(){
  currentItem++;
  $('#items').val(currentItem);
  var strToAdd = '<tr><td><select class = "form-control select2 productSelect" name = "product'+currentItem+'" id = "product'+currentItem+'" style = "width: 100%"> <option disabled selected value> -- select a Product -- </option>'+ <?php foreach ($productData as $product) { echo "'<option value = " . $product->product_id . ">" . $product->product_name . "</option>'+";}?> '</select> </td><td><input class = "form-control quantitySelect" name = "quantity'+currentItem+'" id  = "quantity'+currentItem+'"type = "text" /></td><td><input class = "form-control"  name = "freeIssue'+currentItem+'" id = "freeIssue'+currentItem+'" type = "text" /></td> <td align = "center"><button  class = "btn btn-danger" name = "close" id = "close" onclick = "SomeDeleteRowFunction(this)"><i class = "fa fa-close"></i></button></td></tr>';

  $('#data').append(strToAdd);


});

});

</script>

Вы можете поделиться своим полным кодом?

vrintle 08.11.2018 04:51

@ rv7 Да, конечно, теперь я отредактировал свой пост и вставил полный код

Iishfaaq Ismath 08.11.2018 04:53
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
2
43
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Используйте $ (document) .on. ('Change', '.productSelect', function () {}) Поскольку метод не смог найти класс в готовом документе

Другие вопросы по теме