| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Общие вопросы > тулкит для создания комбобоксов + AJAX-подгрузка |
| Автор: Alx 13.5.2007, 22:37 | ||
библиотека, позволяющяя создавать различные web-компоненты типа combo box на основе xml или json. огромное количество полезных функций
что скажете? 05.02.09: последнее обновление до версии 2.7 - добавлена поддержка браузеров Safari, Google Chrome и Konqueror. |
| Автор: alex77 14.5.2007, 06:11 |
| Не работают клавиши pageUp, pageDown, home, end. Селекты лезут один под другой. Если выбран первый пункт, то при наведении мыши сразу на следующий пункт, подсвечиваются синим и тот и тот. (см. изображение). А в целом прикольно, сам тоже делал такое на работе. |
| Автор: alex77 14.5.2007, 13:44 |
я так то в FF 2.0.3 смотрел. попробуй посмотреть поведение обычного селекта, там всегда подсвечено только 1 пункт, а текущий выбранный значит в самом поле ввода. я ещё так сделал, что "кнопочка" справа показывается в опере - "оперовская", с меняющимся на желтый, а в остальных обычная, ну это так чисто.. Пасматреть тут можно http://video.sky.ru/combo.php п.с. кстати памучийте, может баг обнаружите, буду благодарен ) |
| Автор: Alx 14.5.2007, 21:14 | ||
исправлено. вроде
"исправлено" (только при выключенном мультивыборе) home и end сделал, на page* забил а вообще у тебя конечно немного другой скрипт у меня-то главным было - ajax-функции и удобное создание, настройка, стилизование, понятное для всех. лишь бы хоть html и сss знать. автоподстановка, мультивыбор и все остальное, это как доп. фичи |
| Автор: Alx 15.5.2007, 13:00 |
| AJAX-функции теперь работают во всех браузерах, кроме Opera 8. кто может потестить в IE 5,7, Safari и Konq, буду благодарен. |
| Автор: Alx 21.6.2007, 16:06 |
| версия 2.0, пока beta - http://alx.vingrad.ru/fwc главное нововведение : теперь можно создавать комбобокс всего одной строкой (JS или PHP метод FWC.newSmartSelect()), который возвращает HTML-код. теперь не обязательно использовать XML: список пунктов, а также все необходимые настройки и атрибуты передаются в формате JSON в двух параметрах этого метода. также оптимизировал AJAX функции, отказалася от JsHttpRequest в пользу Prototype.Ajax и добавил возможность также подгрузки не только XML, но и JSON. ну и остальное, всего понемногу. кх.. хоть кто-ниубдь что-нибудь скажет? |
| Автор: szz 10.7.2007, 12:24 |
| Возвращася обратно c Prototype.Ajax в JsHttpRequest, а то прототиповский почему-то не показвает ошибки в onSuccess функции, а посто перестает выполнять скрипт. И в FF и в IE. И еще бы я посоветовал оставить только JSON и избавиться от громоздкого XML |
| Автор: Alx 10.7.2007, 17:44 | ||||||
там все максимально автоматизировано, ошибка может быть только одна: неправильное составление XML-кода или JSON-строки, передающейся с сервера. достаточно просто быть внимательным, всё остальное сделается само. переход на громоздский JsHttpRequest себя не оправдает. а если все таки хочется использовать JsHttpRequest вместо встроенной loadOptions_PHP (и loadOptions_JS), можно просто передавать какой угодно XML/JSON первым параметром прямо во внутреннюю функцию appendOptions(). например так:
зачем убирать? разве это кому то мешает? у XML больше плюсов: он нагляднее, его легче редактировать, он проще для понимания новичкам, знающим HTML, и, самое главное, только через XML-файл можно использовать возможность HTML-форматирования внутри списка. JSON же удобнее использовать для AJAX-подгрузки или для создания небольших стилизованных списков, без особых HTML-наворотов. кроме того скрипт все равно строит меню на основе XSL-верстки, а следовательно даже при использовании пользователем JSON, он перегоняет его в XML формат сперва, а затем пропускает через XSLT. хотелось бы услышать общее впечателение от скрипта, а также какие реальные баги были обнаружены, и что бы выпосоветовали добавить. |
| Автор: szz 10.7.2007, 18:06 |
| Я бы пооветовал сделать не только один селект, а целый набор виджетов - кнопок, текст-инпутов и т.д. чекбоксов, чтобы их можно было бы красиво оформлять по 9-ячейной матрице, лучше всего исходник - фотошоповский psd, деленный слайсами (впрочем, ты наверное так и делаешь, да?). Вот тогда бы я действительно использовал бы твое творение (просто сам щас такое пишу Но реально впечатляет твой селект, хорош. Малюсенький недочетик - при экспанде выезжает как-то криво - сверху чтоли, даже не разберешь |
| Автор: szz 10.7.2007, 18:21 |
| А, еще касательно сайта... При переходе меж страницами, в урле появляется #path , это хорошо. А почему при нажатии Back меня не возвращает на предыдущую страницу? Это плохо |
| Автор: Alx 10.7.2007, 23:41 | ||||||||
а цель какая? только скины? 3 встроенных скина это 5% возможностей моего селекта)
воот ниииче не понял) у меня даже фотошопа нет) объясни про все эти слайсы и все такое согласен, но есть смысл писать такие библиотеки либо для расширения возможностей html-компонента либо для создания нового компонента. в данном случае я и то и то сделал - в первом случае добавил возможность менять дизайн простого селекта и подгружать опции с сервера, а во втором - фактически сделал комбобокс с мультивыбором. пока аналогичных невоплощенных идей нет..) Добавлено через 1 минуту и 10 секунд
да ну, я так и не понял, можно это кроссбраузерно сделать или нет, а с программными кнопками решил не заморачиваться..) тем более меню одноуровневое, только разделы в документации есть, но и там всегда smartselect-менюшка перед глазами Добавлено через 3 минуты и 50 секунд спасибо, я уж думал никого не впечатлит
да, есть такой баг. это только в Firefox. все никак руки не доходят пофиксить, там довольно солидный дебаг получается...) если раздражает, пока можно просто отключить анимированное раскрытие, задав атрибут showspeed="0". |
| Автор: Alx 17.7.2007, 00:18 |
| новая версия! [2.5] добавлено много новых возможностей, например создание простых текстовых полей с автоподстановкой с сервера (аналог http://www.google.com/webhp?complete=1&hl=en). пример тут: http://alx.vingrad.ru/fwc/ru/smartselect#doc-autofill |
| Автор: Alx 17.7.2007, 00:53 | ||||||||
Итак, сперва надо разобраться почему виснет браузер (кстати, какой)? и в какой момент он виснет? при загрузке или только в момент автоподстановки? например вот тут - http://turbaza.ru/test/ при выборе страны Италия, загружается около 1500 отелей и никаких подвисаний, за исключением небольших тормозов. единственной возможной причиной подвисания при большом количестве пунктов может быть использование вложенного HTML. об этом посмотрите тут - http://alx.vingrad.ru/fwc/ru/smartselect#doc-skindesign теперь касательно вашего вопроса: чтобы сделать задержку в три секунды после окончания ввода (хотя, как это может помочь от глюков?), добавьте атрибут ontype с таким содержимым:
и создайте такую JavaScript функцию:
если вы хотите задержку не после того, как юзер что-то ввел, а с момента как он начал вводить (что чуть больше может показаться полезным), функция должна быть такой:
однако лучше делать ограничение не по времени, а по количеству введенных символов. для этого существует специальный атрибут. просто добавьте fillstart="4" и подстановка начнется только тогда, когда юзер введет 4 или более символов. вообще добиться быстрой работы автоподстановки при большом количестве пунктов можно только используя бинарный поиск, который будет добавлен в следующей версии библиотеки. |
| Автор: rcdimon 18.7.2007, 13:27 | ||
Скажи пожалуйста как ты это исправил ) Я тут пишу одну штуку и тоже Select'ы почему-то лезут наверх.. z-index не помогает. ЗЫ Сорри за офтоп ) |
| Автор: Alx 18.7.2007, 14:21 |
| rcdimon, стандартные select`ы windows лезли и будут лезть выше всего. можно юзать хак с iframe, но проще использовать этот тулкит, т.к. он специально делался для замены убогому тегу <SELECT>! этот тулкит может создавать не только комбобоксы, но и обычные селекты (вернее их "двойников"), а также текстовые поля с автоподстановкой. для этого есть http://alx.vingrad.ru/fwc/ru/smartselect#doc-autofill! |
| Автор: Alco 7.8.2007, 10:07 | ||
| Народ, помогите плз новичку! Ситуация такая: Если в списке срабатывает автоподстановка, то значение этого поля по submit не передается (Opera 9.22). В IE и FF все работает нормально.
Помогите плз. |
| Автор: Alx 7.8.2007, 17:19 |
| что-то ничего не понимаю.. с одной стороны функция value4form() срабатывает, input:hidden`ы добавляются, с другой стороны, как элементы формы они не объявляются почему-то и Prototype.Form.serialize() не срабатывает.. http://alx.vingrad.ru/fwc/smartselect/offset_examples/post_suggest.html будем думать.. |
| Автор: Alx 25.8.2007, 21:34 |
| Открываем новый сайт http://alx.vingrad.ru/fwc вместе с тем - новая версия: 2.6! спасибо за помощь Endeveit`у. добро пожаловать |
| Автор: pphornet 2.9.2007, 23:27 |
| я пока присматриваюсь, но пару соображений выскажу что явно портит впечатление: в момент открытия и закрытия компонента - мышка меняет курсор на часики, из-за этого нет четкости работы элемента - в статус баре мелькают сообщения о загрузке рисунков остается ощущение, что компонент что-то загружает, весь "дребезжит" и дергается что хотелось бы увидеть в примерах: работу компонента с многоуровневой БД есть подобный пример с xml, а вот как заполнить те же 3 компонента зависимой друг от друга информацией из БД - такой пример был бы полезен особенно, если еще будет автоподстановка спасибо |
| Автор: Alx 3.9.2007, 00:37 | ||||
ничего себе.. браузер, система? по поводу БД: как таковой встроенной функции для работы с БД в тулките нет (уж слижком сложно выработать какой-то стандартный механизм, т.к. БД и запросы очень и очень разные). встроенный AJAX-подгрузчик (точнее их два - JS и PHP) предназначены для выборки из XML файлов (на основе значений атрибутов или XPath, http://alx.vingrad.ru/fwc/ru/doc-ajax). для выборки из БД вы должны через PHP-подгрузчик (loadOptions_PHP) подключать собственный PHP файл, передавая ему необходимые параметры, в котором будет запрос к БД, возвращающий JSON или XML. вот, как работает подгрузка функций PHP (http://alx.vingrad.ru/fwc/ru/doc-autofill): при вводе срабатывает PHP-подгрузчик, вызывающий этот http://alx.vingrad.ru/fwc/sources/ex/db.php.txt, и передающий ему 2 GET-парметра: name (первые буквы имени) и limit (max возвращаемых строк, по умолчанию - 10), что в принципе равно вызову этого файла так: http://alx.vingrad.ru/fwc/sources/ex/db.php?name=ob&limit=10. как видите, он возвратил JSON строку в формате SmartSelect (http://alx.vingrad.ru/fwc/ru/doc-intro#newSmartSelect). далее эта строка автоматически обрабатывается падгрузчиком и подставляется в список для которого был вызван подгрузчик. все очень просто.вам нужно только задать в loadOptions_PHP своему php-файлу нужные параметры, чтобы он сделал правильный запрос к вашей БД и вернул правильный для SmartSelect`а JSON или XML. всё остальное тулкит сделает сам. а сделать зависимые списки в SmartSelect - это вообще не проблема. достаточно просто по событию выбора (onchange) на одном списке вызвать AJAX-подгрузчик для другого списка. например так:
вот и всё. теперь создаем любой компонент second, и смотрим результат: в него будут загружаться первые 20 имен функций PHP из БД MySQL, начинающихся на букву выбранную в первом списке. вот пример: http://alx.vingrad.ru/fwc/_demos/cascade_db.html |
| Автор: pphornet 3.9.2007, 07:33 |
| спасибо за ответ у меня система Windows XP, браузер IE 6 еще проверил на опере 8.54 - примеры с DOM (компоненты даже не отображаются), а примеры без DOM визуально работают хорошо |
| Автор: Alx 3.9.2007, 17:48 |
| pphornet, 8 Опера не поддерживает XML DOM. так что - только 9-ка.. возможно в скором времени появится решение и для 8-ки (а также Safari и Konqueror). Добавлено через 17 секунд странно, что у вас глюкает в ИЕ... |
| Автор: pphornet 3.9.2007, 19:25 |
| да, причем даже когда мышку наводишь, уже курсор меняется и в статусбаре надпись проскакивает а это для Китая поправил: <?xml version="1.0" encoding="utf-8" ?> <fwc:options xmlns:fwc="http://alx.vingrad.ru/fwc"> <fwc:option world="2">Beijing</fwc:option> <fwc:option world="3">Shanghai</fwc:option> <fwc:option world="1">Harbin</fwc:option> </fwc:options> |
| Автор: Alx 3.9.2007, 20:21 |
| pphornet, странно.. ага, спасибо, все руки не доходили |
| Автор: VasyaMalevich 14.10.2007, 18:12 |
| Прива, кто может дать внятный пример подключения к SmartSelect MySQL списка? На сайте я ничего не нашёл Очень хочется использовать такую полезную вещь |
| Автор: Alx 14.10.2007, 21:40 |
| VasyaMalevich, по разному. либо через JSON, либо через XML. в чем конкретно вопрос? |
| Автор: VasyaMalevich 14.10.2007, 23:49 |
| Честно говоря, не знаю что такое JSON, а XML-файл не хочется при каждом запросе создавать. Вопрос вот такой: где найти пример на PHP чтобы можно было его себе скопировать, подправить под свою БД и не заморачивать "а как там это всё работает" |
| Автор: Alx 15.10.2007, 01:15 | ||
| VasyaMalevich, готового примера нет, но и заморачиваться особо не надо. однако дело в том, что SmartSelect воспринимает 2 формата данных - JSON и XML (см. док-цию на сайте). соответственно, чтобы опции из базы оказались в списке, PHP должен привести их в надлежащий формат и вернуть JSON или XML. в случае XML совершенно не надо создавать какойто файл, достаточно в методе newSmartSelect() просто вызывать php скрипт, генерирующий XML из БД. с JSON вообще все проще. если у васидет выборка из бд по одному полю, подойдет примерно такой код:
|
| Автор: Starikan 25.10.2007, 15:47 |
| Используй XML Source Version 3.3 должно получиться |
| Автор: VasyaMalevich 26.10.2007, 20:11 | ||
| Привет ещё раз! Получилось у меня правда не совсем так как хотелось бы и с огромными тормозами: в пхп файле создаётся переменная $pacients, в которую посредствам цикла из MySQL добавляются имена и id пациентов: $pacients.='[$name],[$pid]'; потом переменная $pacients вставляется на вызов смарт селекта. Пациентов в базе больше 2000, поэтому создаются аццкие тормоза и я опять не могу использовать этот замечательный скрипт Вот мой запрос к базе:
В ИДЕАЛЕ ХОТЕЛОСЬ БЫ чтобы было текстовое поле, когда оператор начинает набивать фамилию пациента ему как в Экселе выходил бы подходящий вариант. json использовать не могу, помоему не поодерживает сервер (Денвер) |
| Автор: Alx 26.10.2007, 23:57 | ||
| VasyaMalevich, фто-то я не понял. все неправильно попробуйте так:
|
| Автор: VasyaMalevich 27.10.2007, 11:09 |
| Спасибо, всё работает, код-то правильный. Проблема в том что когда весь этот массив из 2000 юзеров и 2000 id грузится в смарт селект через переменную $pacients такие аццкие тормоза что просто |
| Автор: scorply 9.11.2007, 13:15 |
| Не могу понять проблемы. На одном хостинге все работает (http://uralpress.katz.ru/), а на другом (http://ural-press.ru) в FireFox и Опере выдает ошибку "FWC:Error -> XSL-file '/js/FWC/design/design.xsl' loading error". Все проверил - файлы идентичные. Провайдер тоже ничего не может сказать... Help! И еще по ходу вопрос. В FireFox стрелочка выпадающего списка отображается, а вот в IE - нет. |
| Автор: Alx 9.11.2007, 21:22 | ||
scorply, проверьте, правильно ли задана переменная window.fwcpath
в каком скине? VasyaMalevich, ну вообще-то это и неудивительно.. 2000 записей это даже для простого html много... |
| Автор: ashenemy 9.11.2007, 22:29 | ||||||
| делаю связанные списки как полдучиьт в пхп выбранный пользователем пункта меню, в какую переменную записывается вот пример
|
| Автор: Alx 11.11.2007, 01:50 | ||
перед отправкой формы надо выполнить value4form и скрипт сгенерит нужные input:hidden`ы с именем равным id списка соответственно переменная будет такая же |
| Автор: ashenemy 11.11.2007, 05:33 |
| Алекс прошу пример можно ??? |
| Автор: ashenemy 12.11.2007, 02:39 | ||
Пробую так
Добавлено через 52 секунды но ни хрена не получается(((((( |
| Автор: Alx 12.11.2007, 08:55 |
| ashenemy, value4form Это метод объекта списка!! в документации же все написано! |
| Автор: ashenemy 12.11.2007, 12:45 |
| Хоть убейте не вижу можешь на моем примере показать плз |
| Автор: Alx 13.11.2007, 15:10 |
| http://alx.vingrad.ru/fwc/ru/doc-methods onsubmit="a.value4form();b.value4form();" где a и b - id списков |
| Автор: ashenemy 23.11.2007, 14:25 | ||||
| проблема с русскими буквами suggest.xml
[*]db.php'[B][/B]
работает нормально если в слове латиниуа, как только слова русские работать перестает(((( |
| Автор: Alx 23.11.2007, 16:04 |
не удивительно все файлы точно в utf-8? без bom? |
| Автор: ashenemy 23.11.2007, 16:12 |
| не все в кирилице только этот файл в юникоде |
| Автор: Alx 23.11.2007, 20:41 |
| ну тогда делай все в кириллице.. |
| Автор: ashenemy 24.11.2007, 00:04 |
| Я ПРОБЫВАЛ , не получидлось ожскажэи где что подправить? |
| Автор: Alx 24.11.2007, 01:42 |
| а блин... там же тока Unicode в xsl.. ну блин юзай iconv короче на выходе проверяй что выходит из echo, это должен быть валидный (для тулкита) json-array в кодировке utf-8 вот и все. |
| Автор: ashenemy 25.11.2007, 03:10 |
| в данный момент на выходе в пхп у меня русские слова выводит, мне их надо к чему то приводить или полученные от пользователя приводить в юникод? |
| Автор: quoro 15.12.2007, 16:22 |
| Кто-нибудь, кому не лень помочь - сделайте мне на этой библиотеке вып. список со ссылками на страницы, только со скином ss_alx. Я в этой библиотеке и вообще в JavaScript ничего не понимаю. А очень-очень надо. Help me!!! Если кто-то захочет помочь: Нужно сразу вставить скрипт в html и послать мне со всеми ресурсами. |
| Автор: Alx 15.12.2007, 18:43 | ||
| ashenemy, то что сервер выводить должо быть в UTF-8 !! причем "без BOM"! quoro, этого никто делать не будет. 1) подключаешь prototype и smartselect (такой файл уже есть в http://ajaxy.ru/fwc/en/download в папке templates) вообще, качай 1й архив, открывай папку templates, бери файл template.xml, открывай в блокноте и правь на такой код:
Добавлено через 6 минут и 38 секунд вот так - http://ajaxy.ru/fwc/_demos/linker.html |
| Автор: DrSol 27.12.2007, 10:46 |
| День добрый. Столкнулся с проблемой при использовании этого селекта. У меня таблица, в одной ячейке вставляю такой селект. Но при его открытии почему-то неверно отображается выпадающий список - не в том месте. Не срабатывается position:relative для выпадающего списка. Он вылезает так, как буд-то select в левом верхнем углу страницы... Использую последнюю версию библиотеки (вчера скачал) Глюк и в ИЕ и в ФФ Временно решил проблему, попиксельно подогнав выпадающий список через position:absolute |
| Автор: kid_a 28.12.2007, 14:13 | ||||
| Помогите пожалуйста разобраться. Undefined index: name line 8 ($name = mysql_real_escape_string($_GET['name']);) Fatal error: Call to undefined function mb_internal_encoding() Что мне нужно исправить? Откуда передается $_GET['name']? db.php
suggest.xml
|
| Автор: deadbead 11.1.2008, 22:35 |
| Во-первых хочу выразить признательность автору) Ну ооочень навороченный получился контрол) Долго выбирал между этим и http://dhtmlx.com/docs/products/dhtmlxCombo/index.shtml... Уж очень мне понравилась там функция формирования контрола на основе стандартного селекта... Но как оказалось это вариант мне не подходит.. Все равно придется генерить и стандартный и dhtml селект (для вывода криентам без поддержки яваскрипт). Поэтому выбор стал очевиден) В общем в любом случае решил использовать ваш замечательный компонент) Однако есть небольшой вопрос. У меня задача настроить контрол следующим образом: Допустим мне надо выбрать 6 картинок (картинки могут повторяться) В неактивном состоянии отображается только картинка При клике на картинку открывается список с описаниями картинок Для наглядности я нарисовал как это в идеале должно выглядеть (во вложении) Ну и было бы совсем замечательно если бы при наведении на уже выбранную картинку всплывала подсказка что это) Возможно ли при текущем функционале контрола организовать такой выбор? Заранее спасибо за ответ) |
| Автор: Artak81 19.1.2008, 01:26 |
| МНЕ ОЧЕН ПОНРАВИЛАС СПАСИБО ХОРОШО ПОТРУДИЛИСЬ ТОЛКО НЕЗНАЮ У МЕНЯ В СПИСКЕ ЕСЛИ ЭЛЕМЕНТ СПИСКА ПРЕВОСХОДИТ РАЗМЕР ПРИ НОВЕДЕНИЯ МИШИ НА ЭЛЕМЕНТ ОСТАВШУЮ ЧАСТ ТЕРЯЮ ТО ЕТЬ НЕ ВИДНО ЕСЛИ НЕТРУДНО ИСПРАВТЕ ЭТО ПОТОМУ ЧТО НАДО ДАТЬ ВЗОЖНОСТЬ ПОЕТИТЕЛЮ УВИДЕТЬ ТЕКСТ. |
| Автор: Artak81 19.1.2008, 02:46 |
| ПОДСКАЖИТЕ ПОЖАЛУСТА КАК ВИВЕСТИ ЕЛЕМЕНТ СПИСКА В HTML ТО ЕСТ КАК ПОЛУЧИТ ДОСТУП К ЭЛЕМЕНТУ |
| Автор: gotoks 22.1.2008, 15:34 | ||
Это уже было в векте раньше Добавлено через 6 минут и 42 секунды У меня другой вопрос. Он так же был в теме выше, но ответа так и не было (вернее был, но он не исправляет ситуации). Подключил компнент, все нормально, работает в ИЕ , и Опере, а в мозиле и Safari - нет . В мозиле выдает сообдение "FWC:Error -> XSL-file '/js/FWC/js/design/design.xsl' loading error."" Переменная window.fwcpath установлена: <script type="text/javascript">window.fwcpath = '/js';</script> Путь правильный. В чем может быть проблема ??? |
| Автор: Alx 23.1.2008, 02:19 |
где было? gotoks, проблема в том, что подгрузка xml и xsl идет через метод load (dom xml), кот не поддерживается Safari (хотя рекомендуется как универсальный на w3schools). решается либо использованием php-подгрузчика, либо перепиской метода load_file объекта dom в файле FWC/js/sselect.js с использованием XMLHttpRequest`а. если перепишите и пришлете мне - буду благодарен на остальные вопросы отвечу, когда появится чуть больше времени |
| Автор: gotoks 23.1.2008, 12:45 |
| Поянл ,спасибо. Пока попробую использовать серверный вариант. Не получится, то тогда уже будем переписывать. |
| Автор: gotoks 23.1.2008, 14:22 |
| Использование серверного варианта помогло. Правда пришлось немножко изменить класс SmartSelect в php, поскольклу у меня стояла версия php 5.1.6 а , для работы ф-й json_decode / json_encode нужна версия не меньше чем 5.2.1. Поскольку в прэкте уже использовался Zend Framework аналогичные ф-ии были взяты из него. Если такие изменения кому надо , то могу скинуть. Но возникла другая проблема. В опере, мазиле , и сафари не появляются scrollbar- ы в выпадающих списках, параметр "maxheight" работает только в ИЕ (версия компонента 2.6, недавно скачанная с сайта). Может кто сталкивался с такой проблемой ? |
| Автор: niibaca 24.1.2008, 16:24 |
| Получаю такую ошибку: Fatal error: Class 'RuntimeException' not found in /home/apeman/data/www/***/js/FWC/php/SmartSelect.class.php on line 123 |
| Автор: gotoks 24.1.2008, 16:41 |
| Я так понимаю что нужно установить разширение для PHP "SimpleXML" В новых версиях оно долждно быть подефолту. следовательно возникает вопроса, какая версия ПХП ? |
| Автор: niibaca 24.1.2008, 16:49 |
| PHP Version 5.2.5 |
| Автор: niibaca 24.1.2008, 20:42 |
| Возможно ли при пхп-подгрузке сделать сообщающиеся списки (генерация xml на пхп)? На джаваскрипте получилось отлично. Как только перевел на пхп - перестало работать. Я проследил - запрос на скрипт, который генерит xml отправляется, скрипт отрабатывает все как надо. Вот только ответ не обрабатывается. |
| Автор: LeMen 30.1.2008, 18:46 | ||
| Народ обнаружил такую ошибку Пишу вот такую вещь
Выкладываю на jsp шку в итоге - все работает - НО! 1) под оперой не поялвяется скролл при длинном списке не появляется скролл 2) ВНИМАНИЕ ! под мозиллой 1.5 и 2.+ на сервак приходит дублированный запрос под другими бразверями все работает корректно я так покопался вроде это связанно с функцией evalSmartSelectTags а конкретно со строчкой eval(sss[i].getElementsBySelector("script."+_id+"_script")[0].innerHTML); но я могу ошибаться )) Просьба разобраться! )) Для меня проблема весьма критичная... PS: Виджет просто супер - лучше всех что я видел (yahoo, dojo - отдыхают) |
| Автор: Alx 31.1.2008, 16:44 |
| появилось немного свободного времени, на днях покопаюсь со всеми этими проблемами. |
| Автор: LeMen 31.1.2008, 17:48 |
| еще одна проблема - ну это наверное может быть и не проблема виджета поскольку firefox 3 все еще в бете но под Firefox/3.0b2 - не работает виджет - походу проблема в том что там не определяется xslt процессор |
| Автор: Artak81 25.2.2008, 20:39 |
| у меня проблема ребята помгите пожалуйста некак не могу сообразить я использую $php_self и при повторной загрузке хочу чтоб была позиция ранее вибранная мною я посилаю форму методом valu4form() и получаю переменную но в виде php переменной например $a но мои списки на javascript и ету $a не могу исползовать. заранее спасибо. |
| Автор: Alx 28.2.2008, 03:09 |
| Artak81, см атрибут oninit и метод selectOption() |
| Автор: href 3.3.2008, 18:33 |
| Скачал-попробовал — вроде фурычит. Вставил в собственный код — форма разъехалась. Причём так, что поле ввода в середине экрана, а выпадуша вверху. Оказалось критичен доктайп. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| Автор: Alx 4.3.2008, 01:42 |
| ага. и почему это - не понятно :( |
| Автор: dima_mak 7.3.2008, 17:42 | ||
| Как убрать перенос строки перед меню? пишу так:
не помогает....... |
| Автор: Alx 11.3.2008, 22:55 |
| надо табличку юзать.. |
| Автор: dima_mak 11.3.2008, 23:17 | ||||
Пробовал.... не помогло.......
дай пример пожалуйста. |
| Автор: Alx 12.3.2008, 01:04 | ||
|
| Автор: dima_mak 13.3.2008, 01:14 |
| Спасибо. я стормозил....... |
| Автор: dima_mak 14.3.2008, 18:25 |
| Ещё вопросик: как узнать индекс элемента по его value? |
| Автор: Alx 24.3.2008, 20:02 | ||||||
хм, странно, почему я это не учел.. добавьте в javascript такой код:
и вызываем так:
Добавлено @ 20:02
нет, дело было http://forum.vingrad.ru/forum/act-ST/f-319/t-202386/unread-1.html. пофиксено, но архивы обновлять не буду, пока не выйдет финальная версия 3ей лисы. обновите вручную FWC/js/http://alx.vingrad.ru/fwc/js/FWC/js/sselect.js |
| Автор: auditt 12.5.2008, 10:53 |
| а как сделать списку disable? ведь бывают такие ситуации когда нужно, а в описании нигде про такое не написано. |
| Автор: Alx 26.5.2008, 22:05 | ||
вместо self - id списка. и тоже самое в oninit если надо задизейблить сначала. |
| Автор: zera 1.6.2008, 08:31 |
| посмотрел пример http://alx.vingrad.ru/fwc/_demos/sselect.php. в опере 9.50 Beta 2 / Build 1992 не работает вообще. иногда выплывает алерт с единицой. я старый пример смотрю? |
| Автор: Alx 2.6.2008, 16:42 |
| Opera 9.20 правда, но все работает на ура.. |
| Автор: zera 3.6.2008, 11:30 |
единственная реакция — мелькание списком у нижнего скругленного селекта при повторном нажатии на кнопку. попробую позже сам разобраться что к чему. |
| Автор: stvkot 3.6.2008, 16:59 |
| Прежде всего спасибо автору. Потестил контрол все понравилось единственный косяк это DOCTYPE собственно вопрос решение этой проблеммы существует? И есть в этом баге одна особенность если поставить скин ss_opera то под IE 6.0. все работает. |
| Автор: stvkot 4.6.2008, 16:47 |
| Еще один вопрос при вызове метода selectOption выставляется значение в title и value но это не как не отражается на зависимых комбобоксах. Как с этим быть? |
| Автор: stvkot 4.6.2008, 18:44 |
| Еще один вопрос при вызове метода selectOption выставляется значение в title и value но это не как не отражается на зависимых комбобоксах. Как с этим быть? |
| Автор: Alx 6.6.2008, 23:37 | ||||
я честно говоря не могу разобраться в чем дело.. может дело в css?..
это зависит от того на каком обработчике у вас стоит событие на зависимый селект. если onclose, то он срабатывает при сворачивании списка, если onchange - при выборе пункта. не важно руками или через API. ;) |
| Автор: stvkot 7.6.2008, 08:25 |
| Спасибо за ответ. Попробую разобраться с доктайпом если что получится обязательно отпишусь. |
| Автор: Alx 7.6.2008, 14:31 |
| stvkot, буду благодарен) |
| Автор: nkarataev 13.6.2008, 03:46 |
| Доброе утро. Пол дня провел, но не работает: В упор не хочет работать пример http://forum.vingrad.ru/index.php?showtopic=151005&view=findpost&p=1244859 уже все втупую скопировал... ан нет... пути в htmlе правил - не помогает(((( |
| Автор: Alx 16.6.2008, 03:12 |
| а в чем проблема-то? какие-то ошибки выдаются? вы уверены, что ваш php-файл верный json/xml выдает? |
| Автор: leader 19.6.2008, 18:14 |
| Здравствуйте. В Опере при задании типа компонента mode: select, не выпадает список. Это замечено так же и на ваших примерах. |
| Автор: Alx 21.6.2008, 13:54 |
| leader, здравствуйте, спасибо, в новой Опере, 9.5 действительно не работает, причем не только при mode:select. буду разбираться, что они там наворотили.. |
| Автор: leader 26.6.2008, 20:52 |
| Здравствуйте. Подскажите, можно ли на у компонента SmartSelect изменять значение поля Title средствами JavaScript? например вот такая строчка: document.getElementById('opt_names_title').value=object_name; или вот такая строчка: opt_names_title.value=object_name; не дают нужного результата - поле Title остается прежним. Имеется в виду, что страница уже сформирована и изменять нужно на клиенте. |
| Автор: Alx 27.6.2008, 15:45 | ||
http://alx.vingrad.ru/fwc/ru/doc-methods
self.title.value = 'myval'; |
| Автор: Alx 4.7.2008, 19:21 |
| пофиксено для Opera 9.5 (в ней оказался новый принцип работы со свойством clip). |
| Автор: leader 6.7.2008, 06:20 |
| Здравствуйте, обновил компонент до версии 2.6.2, но проблема с оперой не исчезла. На страничке с вашими примерами, выпадающие списки также не появляются. |
| Автор: Alx 6.7.2008, 22:00 |
| leader, Здравствуйте. хм, странно, попробуйте обновить кэш.. |
| Автор: wind17 7.7.2008, 17:10 |
| Здравствуйте! в Safari селекты не отображаются. причем не работает как в сафари на Mac, так и на windows. версия и там и там больше, чем 2.0 кроме того не работает прозрачность. прописываю в стилях png-картинки (как в скине ss_alx), а за ними белый фон появляется. |
| Автор: wind17 10.7.2008, 15:35 |
| Здравствуйте еще раз)) пыталась я использовать пример на php, но если включить отображение ошибок, то видно следующую картину: files/Webserver/mistral/phase3/FWC/php/../design/design.xsl Catchable fatal error: Argument 1 passed to XSLTProcessor::importStylesheet() must be an instance of DOMDocument, instance of SimpleXMLElement given, called in /files/Webserver/mistral/phase3/product.php on line 252 and defined in /files/Webserver/mistral/phase3/FWC/php/SmartSelect.class.php on line 113 |
| Автор: Alx 10.7.2008, 15:54 | ||
попробуйте заменить 108 строку файла FWC/php/SmartSelect.class.php вот на это:
|
| Автор: wind17 10.7.2008, 16:41 |
| пробывала. не помогает. Если этого не сделать то список ошибок такой : Warning: simplexml_load_file(): I/O warning : failed to load external entity "/var/www/web23/html/fwc/js/FWC/design/design.xsl" in /files/Webserver/mistral/phase3/SmartSelect_full/js/FWC/php/SmartSelect.class.php on line 108 Catchable fatal error: Argument 1 passed to XSLTProcessor::importStylesheet() must be an instance of DOMDocument, boolean given, called in /files/Webserver/mistral/phase3/SmartSelect_full/_demos/sselect.php on line 58 and defined in /files/Webserver/mistral/phase3/SmartSelect_full/js/FWC/php/SmartSelect.class.php on line 110 а если сделать, то на одну меньше : Catchable fatal error: Argument 1 passed to XSLTProcessor::importStylesheet() must be an instance of DOMDocument, instance of SimpleXMLElement given, called in /files/Webserver/mistral/phase3/SmartSelect_full/_demos/sselect.php on line 58 and defined in /files/Webserver/mistral/phase3/SmartSelect_full/js/FWC/php/SmartSelect.class.php on line 110 так что пробелма тут главная все таки в том, что передает параметр не того типа в функцию importStylesheet по крайней мере мне так кажется... |
| Автор: Alx 10.7.2008, 17:39 |
| какая версия PHP? |
| Автор: wind17 10.7.2008, 17:43 |
| PHP Version 5.2.6 |
| Автор: Alx 14.7.2008, 13:18 |
| странно очень.. даже не знаю, почему может такое происходить.. единственный известный мне метод применение xslt преобразования к SimpleXML - именно этот, через XSLTProcessor.. попробуйте создать тему в топике PHP, и скиньте мне, пожалуйста, ссылку: сюда или в личку. |
| Автор: wind17 14.7.2008, 14:06 |
| а может таки есть javascript решение для safari? + есть ли возможность решить пробелму с прозрачностью. например я делаю закругленные углы для селекта при помощи png картинки, но вместо прозрачного- получаю белый фон. |
| Автор: leader 20.7.2008, 10:57 |
| Здравствуйте, в Opera 9.51 проблем нет, а в Opera 9.5 все-таки выпадающие списки не выпадают. |
| Автор: Unicum 18.8.2008, 10:34 | ||||
| Доброго времени суток. 2 вопроса: -
и если подключать xml через js а не php , есть возможность сделать iconv чтоб подстановка работала и на windows-1251 ?
|
| Автор: href 22.8.2008, 10:40 |
| http://alx.vingrad.ru/fwc/ru/download пишется про новые версии SmartSelect, что пофиксины мелкие баги... Правильно я понимаю, что проблема с DOCTYPE XHTML 1.0 Transitional так и не решена? И стоит ли ожидать её решения? |
| Автор: Sanchezzz 22.8.2008, 10:51 |
| правда почему то под оперу не пашут опера 9.50. зато для осла красота. |
| Автор: rusmes 22.8.2008, 14:49 |
| и в Firefox 3.0.1 тоже, к сожалению, не работает :-( |
| Автор: Unicum 26.8.2008, 11:38 |
попробуй не прописывать скин, тогда всё будет работать более-менее.. работает, только css поправить чтоб вылезало не сверху страницы =) |
| Автор: Alx 26.8.2008, 19:02 |
| качайте последнюю версию. тамвсё везде работает. кроме лага doctype`а, я не знаю в чем там дело :( |
| Автор: rusmes 3.9.2008, 14:39 | ||
Действительно работает. Мешало расширение Firebug, но стоило его отключить и все пришло в норму |
| Автор: Unicum 12.9.2008, 08:06 |
| В гугл хроме не отображается в принципе автозаполнение, только у меня? |
| Автор: rusmes 19.9.2008, 13:08 | ||||||
пытаюсь вывести select с выбранным необходимым пунктом, следующим образом: sel.selectOption(sel.findOption("Значение")); но sel.findOption("Значение") возвращает значение undefined, и, соответственно, в селекте выбирается последний пункт, а не тот который нужен... Похоже, что что-то делаю не так, но никак не могу понять что именно... Не поможете? |
| Автор: Siriel 23.9.2008, 18:36 |
| Возникла проблема при использовании данного комбо-бокса вместе с jquery lugin'ом thickbox. Фаербаг ругается так(в результате SS не работает): prototype.js: element.attachEvent is not a function [Break on this error] element.attachEvent("on" + name, wrapper); prototype.js (line 3917) element.dispatchEvent is not a function [Break on this error] element.dispatchEvent(event); prototype.js (line 3972) element.attachEvent is not a function [Break on this error] element.attachEvent("on" + name, wrapper); В данном примере сначала добавляется javascript для SmartSelecta потом для thickbox'a, если добавлять компонены наоборот то SS работет исправно, и ругается уже thickbox (не инициализируется) |
| Автор: rusmes 3.10.2008, 11:47 | ||
а jQuery.noConflict(); вы используете? если нет, то советую взглянуть на следующую страницу: http://ajaxed.ru/kak-ispolzovat-jquery-s-drugimi-bibliotekami/ |
| Автор: newajax 3.10.2008, 14:12 |
| FWC:SmartSelect на php помогите! |
| Автор: faclon 11.11.2008, 10:48 |
| спасибо за компонент! 1. Не работает в Chrome Uncaught TypeError: Object #<a Document> has no method 'load' doc.load(xmlfile); почитал инфу поданному поводу, похоже придется переделывать весь класс dom 2. Метод size - не совсем удобен, есть проблема с IE6, когда надо селект сделать 200px или еще хуже в %, а в селекте есть строка которая больше этой длины, IE6 режет по размерам, все остальные увеличивают список 3. |
| Автор: faclon 11.11.2008, 19:35 |
| 3. не возможно создать объект с id=type newajax, а это как??? |
| Автор: Kalataru 21.11.2008, 09:54 | ||
Как сделать так, чтобы при наведении мышки на список (а не при клике) - выпадал список.
|
| Автор: Alx 21.11.2008, 23:32 | ||||
Kalataru, добавьте после скрипта sselect.js такой скрипт:
и пропишите в oninit:
|
| Автор: juicy_emad 3.12.2008, 14:42 | ||
| Что-то не пойму как динамически создавать комбобоксы. Пишу что-то вроде:
Ну, и, не работает нифига. Код прописывается, но ничего не отображается. Видимо, это как-то связано с инициализацией компонента. Как это зафиксить? |
| Автор: Alx 4.12.2008, 18:10 |
| juicy_emad, почитайте вводную статью документации. |
| Автор: Artak81 5.12.2008, 16:20 |
| Здраствуете. Я уже на несколких своих страницах исползую этот селект. Хочу особенно поблогодарить автора за то что сделал такое чудо и потрудился столко. Но у меня снова один вопрос. Пробовал в Internet explorer-е id.value4form() посилает поля hidden и посредством $_Post[id] получаю данные но в Mozilla firefox 3.0.4 и Opera 9.60 id.value4form() не срабативает и нечего не посилает в чем проблема может кто подскажет?. |
| Автор: juicy_emad 8.12.2008, 13:41 | ||
Собственно, баг: выпадающие списки отображаются под компонентами. FireFox 3.0.3 on GNU/Lunix Ubuntu 8.04![]()
--- Да, и ещё - не круто, что кнопка выпадающего списка - это INPUT. Это создаёт 2 проблемы: 1.) При переключении по TAB'у, мы попадаем на неё (а это, впринципе, нафиг не нужно). 2.) К примеру, FireFox, при таком активированном контроле, всё равно отображает текстовый курсор ввода (несмотря на то, что стоит READONLY). |
| Автор: Artak81 8.12.2008, 17:40 |
| Посмотри последовательность создания полей по моему твой селект, если создается динамически то должен создатся после создания остальних не динамических елементов. То есть после загрузки всего документа. Вобшем имеет значение последовательность создания но в твоем случае думаю можно без динамического списка. У меня 18 селектов на одной странице и несколко текстовых полей половина создается динамически и почти все загружаются из БД и все отлично везде работает. И еше решил проблему с id.value4form(). данные не отпровляются потому что FWC_sSelect.prototype.value4form = function() { var cont = this.informDiv; cont.innerHTML = ""; for(var i=0;i<this.value.length;i++) { var ih = document.createElement("input"); ih.setAttribute('type','hidden'); ih.setAttribute('name',this.id+'[]'); ih.value = this.value[i]; cont.appendChild(ih); } } кроме ih.setAttribute('name',this.id+'[]'); в value4form нету ih.setAttribute('id',this.id+'[]'); и еше при отправке должни прикрепить с помошю form.appendChild(cont); к форме которую отправляем. и без всего этого в internet explorer e все работает но в осталных с задачей я справился так . |
| Автор: Alx 8.12.2008, 21:38 | ||
| juicy_emad, действительно, проблема в том, что контрол "Район" создается раньше остальных, а соответственно имеет наибольшей zIndex и раполагается выше остальных контролов. мне не очень понятен смысл использования в данном случае div:smartselect. обычно это необходимо там, где нельзя выполнять прямой javascript-код, однако тут он спокойно выполняется в контроле "Район". Почему бы вам не заменить все div:smartselect на стандартный метод FWC.newSmartSelect() ? например, так:
|
| Автор: Alx 8.12.2008, 21:59 | ||||
рад, что тулкит вам пригодился
что-то не понимаю, приведите пример с проблемой. вот здесь [ http://alx.vingrad.ru/fwc/_demos/sselect.php] пример отправки данных (кнопка submit), во всех браузерах всё работает.. |
| Автор: Artak81 9.12.2008, 12:41 | ||
| Действительно у вас работает. Но я мой пример тестировал 1000 раз и нашел выход но без исползования valu4form. Ранше я писал так <form action="<? echo $PHP_SELF;?>" method="POST" id="set_Ob" onsubmit="id.valu4form()" enctype="multipart/form-data">; Может что нетак пишу Я уже все поменял и все отлично работает. А поменял всего то, то что написал новую функцию
так у меня все сработало. Главное выход есть. Конечно было бы хорошо чтоб я понял в чем была проблема. Если из висше сказанного мною понятно вчем проблема был бы рад узнать а если нет то нечего страшого. Все равно класно. И еше вопрос. У меня в списках встречаются очень длинные элементи. Получается что осталная часть невыдна и хотелось би при наведения мишки на него увидеть все до конца. Как могу добится этого. |
| Автор: Alx 11.12.2008, 02:13 |
| Внимание! Исправлен баг, из-за которого тулкит не работал с DOCTYPE ! Новая версия - 2.6.3 - доступна для скачивания! |
| Автор: Alx 5.2.2009, 09:22 |
| Внимание! 05.02.09 апдейт до версии 2.7 Теперь тулкит работает во всех браузерах включая Safari, Konqueror и Google Chrome. + исправлен баг с появлением курсора на кнопке раскрытия списка в Firefox. |
| Автор: Slavok47 25.5.2009, 16:29 |
| А у этих Селектов, есть состояние disabled как у обычных, если да то куда это прописать? |
| Автор: EListov 13.11.2009, 14:52 |
| А у меня не во всех браузерах работает... во всяком случае в IE6 и Konqueror Версия 2.7. Причем http://ajaxy.ru/fwc/ru/examples тоже в этих браузерах не видны... |
| Автор: gruzoveek 19.11.2009, 11:31 |
| компонент хороший, примеров бы побольше! =) в частности - нужен пример, как вставить этот комбо бокс в форму таким образом, чтоб в нем уже были отмечены кое-какие значения. Это будет форма редактирования данных в базе, там уже есть какие-либо значения, и их надо подгрузить в этот компонент. Заранее благодарен) |
| Автор: MishaKor 15.2.2010, 09:44 | ||
если тема жива, то подскажите как можно сделать чтоб некоторые элементы раскрывающегося списка были неактивны не через xml там я разобрался, а через яву
чтобы пункты [\"1\",\"1\"] и [\"2\",\"2\"] были неактивны при наведение |
| Автор: ZuvilsMow 25.11.2020, 23:39 |
Модератор: Сообщение скрыто. |