Проблемы с Jquery UI и Sitefinity 3.7 - PullRequest
0 голосов
/ 02 марта 2011

Я создаю автозаполнение поиска, используя Jquery UI. Все отлично работало, когда я построил поиск в минимальном документе, где нет ничего, кроме ввода. например:

<input id="autocomplete" />

и Jquery

<script>

    $( "input#autocomplete" ).autocomplete({
            source: ['johannesburg z', 'johannesburg x', 'johannesburg v','johannesburg b','johannesburg a','johannesburg q', 'johannesburg u', 'johannesburg y', 'johannesburg o', 'johannesburg p']
    });
</script>

Однако, когда я помещаю свой код на страницу Sitefinity 3.7, я получаю сообщение об ошибке, сообщающее, что "$ (" input # autocomplete "). Autocomplete" не является функцией.

Эта ошибка возникает только один раз в sitefinity

Вещи, которые Iv пробовал

  1. Я использую последнюю версию библиотеки Jquery UI с виджетом автозаполнения.
  2. Я проверил, что мои пути к файлам верны. (они есть).
  3. Используются оповещения, например alert("$('input#autocomplete').autocomplete")
    • они продолжают возвращаться неопределенными.

Любая помощь будет высоко ценится!

1 Ответ

1 голос
/ 30 марта 2011

Sitefinity сама использует jquery и, вероятно, переопределяет многие базовые классы / методы с одинаковыми сокращенными именами классов ($, Jquery).

Следствием этого является то, что вы не можете разместить свой javascript на своей странице ДО того, как будут вставлены элементы / элементы управления sitefinity.У меня была такая же проблема.Я переместил весь свой javascript ПОСЛЕ sitefinity elemens в конец своих страниц, и все снова заработало нормально.

Имейте в виду, что в данном случае на самом деле происходит следующее:

  1. sitefinity внедряет свой собственный jquery, а затем
  2. вашу ссылку на jquery.min.jsфайл переопределил sitefinity.

Так что вполне возможно, что это может фактически нарушить некоторые функции на основе jquery для sitefinity, хотя у меня не было проблем за последние 2 месяца.

Вы также можете попробовать использовать встроенную в sitefinity версию jQuery (что Telerik рекомендует по ссылке на форуме ниже, хотя мне не очень повезло с этой техникой):

<% @ Register Assembly = "Telerik.Sitefinity" Namespace = "Telerik.Sitefinity.Web.UI" TagPrefix = "sf"%>

Вот ссылка на недавнее сообщение на форуме Sitefinityотносительно этой же проблемы: http://www.sitefinity.com/devnet/forums/sitefinity-4-x/general-discussions/jquery-popup-not-working-in-telerik-webapplication.aspx

Удачи!

...