За последние 24 часа нас посетили 27055 программистов и 1508 роботов. Сейчас ищут 942 программиста ...

jquery ui widget баг?

Тема в разделе "JavaScript и AJAX", создана пользователем Slavka, 17 апр 2014.

  1. Slavka

    Slavka Активный пользователь

    С нами с:
    1 окт 2013
    Сообщения:
    722
    Симпатии:
    41
    сижу разбираюсь с сим вопросом - нашел удовлетворяющий меня виджет http://jsfiddle.net/alforno/g4stL/
    вставил к себе ( виджет естесно в отдельный файлик оформил)
    первые тесты - увы, при выборе нужного пункта ничего не происходит ( даже в поле инпут ничего не пишет)
    начал проверять и смотреть - первое что сделал прямо на jsfiddle.net заменил jquery на 2.0.2 и включил jquery ui - 1.10.3 и в окурат поимел свою ошибку.

    кстати у меня используется jquery 1.10.2 и jquery ui 1.10.3 - обвновление до последних версий ничего нового не дало.
    начал разбирать конструкцию - первым делом я полез в
    select:
    добавил первой строкой console.dir ( ui)
    и понял - что там пусто .. как будто ничего не возвращает.

    ради прикола уже даже создал свой виджет

    Код (Text):
    1.  
    2. $.widget('custom.test1',$.ui.autocomplite,
    3. {
    4.     select:function (){
    5.         alert ("rr");
    6.     }
    7. });
    вот так я подключал виджет к инпут полю

    Код (Text):
    1.  
    2. $("#TEST").test1({
    3.         source:data
    4. })
    т.е. задача виджета подменить селект стандартного автоселекта и вывести "rr"
    какогоже было мое удивление увидев вот это

    TypeError: s is not a constructor
    эта ошибка непосредственно из jquery ui

    ну и естесно я получил вот такую ошибку тут же
    TypeError: $(...).test1 is not a function

    и вот я в недоумении - я обнаружил багу или же я неправильно чтото делаю .. плиз хелп
    заранее спасибо =)
     
  2. BlackScorp

    BlackScorp Новичок

    С нами с:
    16 апр 2014
    Сообщения:
    54
    Симпатии:
    0
    Адрес:
    Germany
    Код (Text):
    1. $.ui.autocomplite,
    Код (Text):
    1. $.ui.autocomplete,
     
  3. Slavka

    Slavka Активный пользователь

    С нами с:
    1 окт 2013
    Сообщения:
    722
    Симпатии:
    41
    блин и правда пасиб =) теперь осталось с первым ( основным ) виджетом разобраться.
     
  4. BlackScorp

    BlackScorp Новичок

    С нами с:
    16 апр 2014
    Сообщения:
    54
    Симпатии:
    0
    Адрес:
    Germany
    а можно подробнее? как вставил, што переставил?
     
  5. Slavka

    Slavka Активный пользователь

    С нами с:
    1 окт 2013
    Сообщения:
    722
    Симпатии:
    41
    сейчас соберу тестовый пример

    Добавлено спустя 36 минут 9 секунд:
    собрал сейчас на хост положу

    Добавлено спустя 3 минуты 57 секунд:
    разница между файлами только в том что разные jquery загружены больше ничем

    ссылку затер.. вот пример с последними версиями
    ссылку затер.. вот пример с 1.9.х версиями

    в поле ввода вводить цифры - например 4
    самое интересное смотреть в firebug и аналогах - специально вывел инфу.
     
  6. BlackScorp

    BlackScorp Новичок

    С нами с:
    16 апр 2014
    Сообщения:
    54
    Симпатии:
    0
    Адрес:
    Germany
    так в чем проблема та? все же идет
     
  7. Slavka

    Slavka Активный пользователь

    С нами с:
    1 окт 2013
    Сообщения:
    722
    Симпатии:
    41
    а ты в test2 выбери чтонить .. - при клике кроме ошибки ничего нету ( я использую Firefox 28.0)

    Добавлено спустя 1 минуту 6 секунд:
    проверил в хроме - выбор из списка тоже не производится
     
  8. Slavka

    Slavka Активный пользователь

    С нами с:
    1 окт 2013
    Сообщения:
    722
    Симпатии:
    41
    я не понимаю почему так - но заработало ..
    я из примера на jquery скопировал - кусок кода ... поверх своего - и все заработало как надо вот кусок старый

    Код (Text):
    1.         $.each(items, function(index, item) {
    2.             self._renderItem(ul, item);
    3.         });
    вот так был этот же участок в примере

    Код (Text):
    1.  
    2.        $.each( items, function( index, item ) {
    3.              self._renderItemData(ul, item);
    4.         });
    возможно они чтото переименовали - мне это не ведомо.