2013-09-30 1 views
1

Я пытаюсь использовать библиотеку Select2 для отображения списка категорий. У меня есть рабочий регулярный <select> на данный момент.Невозможно вызвать метод 'select2' of null

Я добавил jquery, таблицу стилей, файл .js и функцию в свой html.

<link href="/select2/select2.css" rel="stylesheet"/> 
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js" ></script> 
<script src="/select2/select2.js"></script> 
<script> 
    $(document).ready(function() { $("#listCategorie").select2(); }); 
</script> 

Однако выбор по-прежнему отображается нормально, и я получаю следующее сообщение об ошибке в консоли:

Uncaught TypeError: Невозможно вызвать метод «ВЫБ.2» нулевых

Это выбор у меня есть:

<select id="listCategorie"> 
    <option value="0"></option> 
    .... 
</select> 
+2

'$ (" # listCategorie ")' неверно и возвращает значение null. – Archer

+0

Идентификатор выбора установлен в listCategorie, и он существует в моем HTML. Он должен иметь возможность найти его, поскольку функция вызывается, когда DOM загружается. – oliboon

+0

Извините, но это то, что означает ошибка. Вы случайно запускаете это локально или на веб-сервере. Если локально, это на localhost или работает как файл ('file: //')? – Archer

ответ

3

Похоже, у вас есть какие-то конфликты с $ и в вашем случае $ Безразлично 't означает jQuery. Поскольку jQuery не возвращает значение null, даже если селектор не соответствует никаким элементам. Вместо этого попробуйте следующее:

jQuery(document).ready(function() { 
    jQuery("#listCategorie").select2(); 
}); 
0
  1. Проверьте идентификатор элемента, который вы инициализации select2() на правильность.
  2. Проверьте, правильно ли загружены библиотеки jquery и select2, открыв консоль разработчика Chrome (F12) и перейдите на вкладку sources/resources. Посмотрите, есть ли ваша библиотека.
  3. Пожалуйста, размещайте больше кода. Это будет полезно для выяснения проблемы.
+0

Я добавил свой выбор с соответствующим ID. Ресурсы загружены правильно. – oliboon

+0

@oliboon Я просто скопировал ваш код [здесь] (http://jsfiddle.net/geUMw/) и добавил ваши библиотеки. Кажется, все работает отлично. Возможно, ошибка в другом месте ... –

0

может быть, вам нужно JQuery Migrate, потому что этот плагин может иметь методы устарели и то, что не собирается работать с версиями JQuery 1.9 +

+0

Я пробовал jQuery Migrate, но он все равно дает мне то же сообщение об ошибке. – oliboon