JQuery Selectize — Uncaught TypeError: $(…).selectize не является функцией

(Я проверил другие решения, которые я нашел для разных вопросов, и они мне не помогли.)

Я пытаюсь использовать Selectize.js в своем пользовательском интерфейсе и продолжаю получать эту ошибку: $(…).selectize не является функцией.

Я кодирую в VS, используя ядро ​​​​asp.net с бритвенными страницами, поэтому мой html представляет собой комбинацию html и C#. Я также использую типичную структуру стиля MVVM/MVC.

HTML

<!--JQuery version 3.5.1-->
<script type = "text/javascript" src = "~/lib/jquery/dist/jquery.js"></script>
<script type = "text/javascript" src = "~/lib/selectize/dist/js/standalone/selectize.js"></script>
<link rel = "stylesheet" href = "~/lib/selectize/dist/css/selectize.bootstrap4.css" />

@{
    var groups = ViewData["Groups"] as ArrayList;
}

    <div class = "group-select-container" id = "group-select-container" hidden>
        <label for = "group-select">View data from: </label>

        @{ if (groups.Count > 0)
            {
                <select name = "group-select" id = "group-select" placeholder = "Select a group...">
                    @{
                        foreach (var group in groups)
                        {
                            <option value = "@group" id = "@group">@group</option>
                        }
                    }
                </select>
            }
        }
    </div>
</div>

JS

$(document).ready(function () {
    $('#group-select').selectize({
        sortField: {
            field: 'text',
            direction: 'asc'
        },
    });
});

У меня есть все микро-плагины, так как я использую автономный файл js.

У меня есть моя функция, обернутая в другую функцию, которую, как я читал, я должен делать.

Я потерялся, чтобы определить причину моей ошибки. Если кто-нибудь знает, пожалуйста, дайте мне знать.

Спасибо!

Сделайте минимальный воспроизводимый пример с RENDERED HTML - но сначала посмотрите на вкладку сети, чтобы увидеть, действительно ли он найден

mplungjan 09.12.2020 20:15

Я только что создал новый проект, загрузил свои сценарии в папку lib в wwwroot, настроил свой html (хотя и жестко запрограммированные параметры) и js, и это не сработало.

Noah Eldreth 09.12.2020 20:26
Как конвертировать HTML в PDF с помощью jsPDF
Как конвертировать HTML в PDF с помощью jsPDF
В этой статье мы рассмотрим, как конвертировать HTML в PDF с помощью jsPDF. Здесь мы узнаем, как конвертировать HTML в PDF с помощью javascript.
0
2
1 464
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Я могу ошибаться, но что, если

  <select name = "group-select" id = "group-select" placeholder = "Select a group...">

не был инициализирован, когда вы пытались использовать селектор jQuery, возможно, потому, что groups.Count не был больше 0 (я предполагаю, что это то, что делает @{ if (groups.Count > 0)? Попробуйте вывести элемент, чтобы проверить, является ли он нулевым, перед вызовом $(...).selectize и посмотрите, поможет ли это.

Я пробовал с жестко заданными параметрами, после чего ничего динамического не происходило. Еще ничего.

Noah Eldreth 09.12.2020 20:27
Ответ принят как подходящий

По какой-то причине я обнаружил, что в ядре asp.net файл layout.cshtml по умолчанию включает JQuery внизу страницы, переопределяя мой тег script в верхней части страницы, ссылающийся на мой JS. Удалил это и заработало.

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