Я пробовал решение из ' Select2 () не является функцией ', но я до сих пор не могу понять, в чем проблема .. Я получил это предупреждение в своей консоли, и я незнать, связано ли это с проблемой или нет
Файл cookie, связанный с межсайтовым ресурсом по адресу http://cloudflare.com/, был установлен без атрибута SameSite. В следующем выпуске Chrome файлы cookie будут отправляться только с межсайтовыми запросами, если для них установлены значения SameSite=None и Secure. Вы можете просмотреть куки в разработчику
SameSite
SameSite=None
Secure
<html> <head> <meta charset="utf-8"> <script src="https://code.jquery.com/jquery-1.12.3.js" integrity="sha256-1XMpEtA4eKXNNpXcJ1pmMPs8JV+nwLdEqwiJeCQEkyc=" crossorigin="anonymous"></script> <link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.1/css/select2.min.css" rel="stylesheet" /> <script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.1/js/select2.min.js"></script> <script src="/assets/newDailyDetail.js"></script> <link rel="stylesheet" href="/css/new.css"> <link rel="stylesheet" href="/css/css/bootstrap.min.css"> </head> <body> <select class="browser-default custom-select" name="childId" id="childName"> <option disabled selected>Select the Child..</option> <% child.forEach((childItem) => { %> <option value="<%= childItem.childId %>"> <%=childItem.childName %> </option> <% }) %> </select> <script type="text/javascript"> $(document).ready(function() { $('#childName').select2({ }) }) </script> </body> </html>
DOM не готов. Попробуйте это:
$(document).ready(function() { $('.js-example-basic-single').select2(); });
Я решил это .. Я использовал jQuery в моем layOut, поэтому, когда я удаляю jquery cdn в моем layOut.ejs .. Это отлично работает