Uncaught TypeError: Невозможно вызвать метод 'removeClass' из неопределенного jQuery easydropdown

0

Я видел, что этот вопрос задавали несколько раз, но ничто не помогло.

В моем файле cshtml у меня есть следующее:

<div class="col-lg-8">
    @Html.Raw(SelectListHelper.CreateDropDownList("ddlStateCode", Application.DataCache.GetStatesAsLookup()))
</div>
<div class="col-lg-8">
    <select class="dropdown" id="ddlContactList"></select>
</div>

Выпадающее окно Razor отображает тег select так же, как ddlContactList, кроме идентификатора.

ddlContactList заселяется через AJAX.

ddlStateCode выдает ошибку, когда я нажимаю на нее, и ddlContactList работает нормально.

Мы включаем следующие скрипты:

<script type="text/javascript" src="~/Scripts/jquery-1.10.2.js"></script>
<script type="text/javascript" src="~/Scripts/jquery-ui-1.10.4.min.js"></script>
<script type="text/javascript" src="~/Scripts/bootstrap.js"></script>
<script type="text/javascript" src="~/Scripts/jsrender.min.js"></script>
<script type="text/javascript" src="~/Scripts/globalize.js"></script>
<script type="text/javascript" src="~/Scripts/jquery.easing.min.js"></script>
<script type="text/javascript" src="~/Scripts/ej.widgets.all-latest.min.js"></script>
<script type="text/javascript" src="~/Scripts/App/image-changer.js"></script>
<script type="text/javascript" src="~/Scripts/App/nav.js"></script>
<script type="text/javascript" src="~/Scripts/App/popup.js"></script>
<script type="text/javascript" src="~/Scripts/App/scrollbar.js"></script>
<script type="text/javascript" src="~/Scripts/App/show_hide.js"></script>
<script type="text/javascript" src="~/Scripts/App/jqueryExtensions.js"></script>
<script type="text/javascript" src="~/Scripts/App/helper_functions.js"></script>
<script type="text/javascript" src="~/Scripts/App/ConfirmPopup.js"></script>
<script type="text/javascript" src="~/Scripts/App/global_error_handlers.js"></script>
<script type="text/javascript" src="~/Scripts/jquery.fitvids.js"></script>
<script type="text/javascript" src="~/Scripts/jquery.bxslider.js"></script>
<script type="text/javascript" src="~/Scripts/jquery.easydropdown.js"></script>

Проблема возникает в jQuery.easydropdown.js по методу ниже:

close: function(){
    var self = this;
    self.$container.removeClass('open'); // error happens here
    self.$scrollWrapper.css('height','0px');
    self.focusIndex = self.selected.index;
    self.query = '';
    self.down = false;
},

Я не думаю, что пользовательский файл jQuery и версии файла jQuery должны совпадать, но я не могу найти подходящие версии, чтобы попробовать. Есть идеи?

  • 2
    var self = this; - здесь действительно пахнет странно, поскольку нет необходимости кэшировать this объект внутри close() . Добавьте console.log(self) прямо вверху этого метода; что это показывает?
  • 0
    Попробуйте console.log(self) и проверьте, содержит ли self $container или нет!
Показать ещё 2 комментария
Теги:
razor
asp.net-mvc

1 ответ

1
Лучший ответ

EasyDropDown разбивается на список избранных, который пуст при загрузке страницы. Удаление функции инкапсуляции в файле javascript и запуск метода создания экземпляра после вызова AJAX.

  • 0
    Я сталкиваюсь с подобной проблемой. У меня есть пустой список выбора, где параметры создаются с помощью цикла - это цикл, который создает временные метки. Плагин, кажется, неэффективен, когда я создаю параметры с помощью цикла ... взгляните на скрипку: jsfiddle.net/fiddlehunt/j54e7, что мне нужно сделать, чтобы решить проблему? Попробуйте вышеуказанное решение? - Димитрис Папагеоргиу 6 минут назад

Ещё вопросы

Сообщество Overcoder
Наверх
Меню