Модераторы: Sardar, Aliance

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> тулкит для создания комбобоксов + AJAX-подгрузка, xml javascript combo box toolkit library 
:(
    Опции темы
Alx
Дата 13.5.2007, 22:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



библиотека, позволяющяя создавать различные web-компоненты типа combo box на основе xml или json. огромное количество полезных функций smile 

Цитата

всем известны проблемы с тегом select в html: отсутствие возможности настройки внешнего вида, перекрывание абсолютно позиционированных слоев, отсутствие комбобоксов (выпадающих списков с возможностью ввода), отсутствие нормального мультивыбора и некоторые другие. все они имеют некоторые, чаще всего корявые, решения, которые врядли можно назвать панацеей.

когда мне всё это надоело, я написал тулкит, который решает все эти проблемы одним махом.
этот тулкит позволяет максимально просто создать "поддельный" выпадающий список, который на первый взгяд идентичен стандартному тегу select, но лишенный всех его недостатков.

кроме того он позволяет использовать некоторые очень полезные функции, крайне популярные в последнее время. например, удобный API для управления списками и пунктами (создание, редактирование, удаление), ajax-подгрузка каскадных списков (когда содержимое некоторых списков зависит от других), а также создание простых текстовых полей с автоподстановкой значений при вводе (в том числе и из серверных ресурсов, аналогично Google Suggest).

все настройки для компонентов smartselect описываются в отдельном xml-файле или json-строкой.


внедрить такой компонент на страничку проще простого. достаточно только подключить библиотеки в начале файла, а затем в нужном месте вставить всего одну строчку JavaScript или PHP кода (на ваш выбор). строчка эта - вызов метода, в параметрах которому передается либо ссылка на xml-файл с описанием списка, либо - 2 json-строки, одна из которых содержит массив пунктов, а вторая - набор настроек (атрибутов).

по умолчанию список будет выглядеть точь в точь, как настроящий (в разных браузерах по разному), но вы можете полностью настроить его внешний вид, используя HTML, CSS, XSLT, картинки и JavaScript, создавать собственные скины и шаблоны и многое другое.

других функций и возможностей у этого тулкита полно, смотрите сами, вот сайт - http://alx.vingrad.ru/fwc/ru
читайте документацию, там же можно скачать релиз.
вот примеры:
http://alx.vingrad.ru/fwc/ru/examples
http://alx.vingrad.ru/fwc/ru/doc-autofill
http://alx.vingrad.ru/fwc/_demos/sselect.php

что касается меня, я с нетерпением жду и буду рад любым вашим отзывам и пожеланиям, и - чуть менее smile - докладам о багах и ошибках.


что скажете? smile

05.02.09: последнее обновление до версии 2.7 - добавлена поддержка браузеров Safari, Google Chrome и Konqueror.

Это сообщение отредактировал(а) Alx - 5.2.2009, 09:25


--------------------
PM MAIL WWW ICQ   Вверх
alex77
Дата 14.5.2007, 06:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


жывтоне чочо
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 29.9.2006
Где: Екатеринбург

Репутация: нет
Всего: нет



Не работают клавиши pageUp, pageDown, home, end.
Селекты лезут один под другой. Если выбран первый пункт, то при наведении мыши сразу на следующий пункт, подсвечиваются синим и тот и тот. (см. изображение).
А в целом прикольно, сам тоже делал такое на работе.

Присоединённый файл ( Кол-во скачиваний: 134 )
Присоединённый файл  select.gif 2,10 Kb
PM MAIL ICQ   Вверх
Alx
Дата 14.5.2007, 12:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



Цитата(alex77 @  14.5.2007,  06:11 Найти цитируемый пост)
Не работают клавиши pageUp, pageDown, home, end.

а должны? я и не знал smile как-нибудь сделаем smile

Цитата(alex77 @  14.5.2007,  06:11 Найти цитируемый пост)
Селекты лезут один под другой.

хз.. это только в этом месте и только в Эксплорере.. Обновляешь страницу, все ок.. глючит определение zIndex при прорисовке.. есть идейка, попробую

Цитата(alex77 @  14.5.2007,  06:11 Найти цитируемый пост)
 Если выбран первый пункт, то при наведении мыши сразу на следующий пункт, подсвечиваются синим и тот и тот. (см. изображение).

а как иначе? помоему это логично.. почему при передвижени мышке выделение выбранного пункта должна спадать?

Цитата(alex77 @  14.5.2007,  06:11 Найти цитируемый пост)
А в целом прикольно, сам тоже делал такое на работе. 

мм, а не покажешь, что получилось? smile


--------------------
PM MAIL WWW ICQ   Вверх
alex77
Дата 14.5.2007, 13:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


жывтоне чочо
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 29.9.2006
Где: Екатеринбург

Репутация: нет
Всего: нет



Цитата(Alx @  14.5.2007,  12:44 Найти цитируемый пост)
это только в этом месте и только в Эксплорере

я так то в FF 2.0.3 смотрел.


Цитата(Alx @  14.5.2007,  12:44 Найти цитируемый пост)
а как иначе? помоему это логично.. 

попробуй посмотреть поведение обычного селекта, там всегда подсвечено только 1 пункт, а текущий выбранный значит в самом поле ввода.

я ещё так сделал, что "кнопочка" справа показывается в опере - "оперовская", с меняющимся на желтый, а в остальных обычная, ну это так чисто..

Пасматреть тут можно http://video.sky.ru/combo.php

п.с. кстати памучийте, может баг обнаружите, буду благодарен )


Это сообщение отредактировал(а) alex77 - 14.5.2007, 13:48
PM MAIL ICQ   Вверх
Alx
Дата 14.5.2007, 21:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



Цитата(alex77 @  14.5.2007,  06:11 Найти цитируемый пост)
Селекты лезут один под другой.

исправлено. вроде  smile 

Цитата(alex77 @  14.5.2007,  06:11 Найти цитируемый пост)
Если выбран первый пункт, то при наведении мыши сразу на следующий пункт, подсвечиваются синим и тот и тот. 

"исправлено" (только при выключенном мультивыборе)

Цитата(alex77 @  14.5.2007,  06:11 Найти цитируемый пост)
Не работают клавиши pageUp, pageDown, home, end.

home и end сделал, на page* забил smile лень)

а вообще у тебя конечно немного другой скрипт smile цель другая, наверно)
у меня-то главным было - ajax-функции и удобное создание, настройка, стилизование, понятное для всех. лишь бы хоть html и сss знать.
автоподстановка, мультивыбор и все остальное, это как доп. фичи  smile 


--------------------
PM MAIL WWW ICQ   Вверх
Alx
Дата 15.5.2007, 13:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



AJAX-функции теперь работают во всех браузерах, кроме Opera 8.

кто может потестить в IE 5,7, Safari и Konq, буду благодарен.


--------------------
PM MAIL WWW ICQ   Вверх
Alx
Дата 21.6.2007, 16:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



версия 2.0, пока beta - http://alx.vingrad.ru/fwc

главное нововведение : теперь можно создавать комбобокс всего одной строкой (JS или PHP метод FWC.newSmartSelect()), который возвращает HTML-код. теперь не обязательно использовать XML: список пунктов, а также все необходимые настройки и атрибуты передаются в формате JSON в двух параметрах этого метода.

также оптимизировал AJAX функции, отказалася от JsHttpRequest в пользу Prototype.Ajax и добавил возможность также подгрузки не только XML, но и JSON.

ну и остальное, всего понемногу.

кх.. хоть кто-ниубдь что-нибудь скажет? smile 

Это сообщение отредактировал(а) Alx - 21.6.2007, 16:07


--------------------
PM MAIL WWW ICQ   Вверх
szz
Дата 10.7.2007, 12:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1289
Регистрация: 31.5.2005
Где: Moscow, Jerusalem

Репутация: нет
Всего: 33



Возвращася обратно c Prototype.Ajax в JsHttpRequest, а то прототиповский почему-то не показвает ошибки в onSuccess функции, а посто перестает выполнять скрипт. И в FF и в IE.

И еще бы я посоветовал оставить только JSON и избавиться от громоздкого XML  smile 


--------------------
PM   Вверх
Alx
Дата 10.7.2007, 17:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



Цитата(szz @  10.7.2007,  12:24 Найти цитируемый пост)
Возвращася обратно c Prototype.Ajax в JsHttpRequest, а то прототиповский почему-то не показвает ошибки в onSuccess функции, а посто перестает выполнять скрипт. И в FF и в IE.

там все максимально автоматизировано, ошибка может быть только одна: неправильное составление XML-кода или JSON-строки, передающейся с сервера. достаточно просто быть внимательным, всё остальное сделается само. переход на громоздский JsHttpRequest себя не оправдает.
а если все таки хочется использовать JsHttpRequest вместо встроенной loadOptions_PHP (и loadOptions_JS), можно просто передавать какой угодно XML/JSON первым параметром прямо во внутреннюю функцию appendOptions(). например так:
Код

mySelect.appendOptions('[["Option 1"],["Option 2"],["Option 3"]]');


Цитата(szz @  10.7.2007,  12:24 Найти цитируемый пост)
И еще бы я посоветовал оставить только JSON и избавиться от громоздкого XML

зачем убирать? разве это кому то мешает? smile
у XML больше плюсов: он нагляднее, его легче редактировать, он проще для понимания новичкам, знающим HTML, и, самое главное, только через XML-файл можно использовать возможность HTML-форматирования внутри списка. JSON же удобнее использовать для AJAX-подгрузки или для создания небольших стилизованных списков, без особых HTML-наворотов.

кроме того скрипт все равно строит меню на основе XSL-верстки, а следовательно даже при использовании пользователем JSON, он перегоняет его в XML формат сперва, а затем пропускает через  XSLT.


хотелось бы услышать общее впечателение от скрипта, а также какие реальные баги были обнаружены, и что бы выпосоветовали добавить. 


--------------------
PM MAIL WWW ICQ   Вверх
szz
Дата 10.7.2007, 18:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1289
Регистрация: 31.5.2005
Где: Moscow, Jerusalem

Репутация: нет
Всего: 33



Я бы пооветовал сделать не только один селект, а целый набор виджетов - кнопок, текст-инпутов и т.д. чекбоксов, чтобы их можно было бы красиво оформлять по 9-ячейной матрице, лучше всего исходник - фотошоповский psd, деленный слайсами (впрочем, ты наверное так и делаешь, да?). Вот тогда бы я действительно использовал бы твое творение (просто сам щас такое пишу smile  ). А один селект - маловато! smile

Но реально впечатляет твой селект, хорош. Малюсенький недочетик - при экспанде выезжает как-то криво - сверху чтоли, даже не разберешь smile . Лучше уж пусть просто появляется.


--------------------
PM   Вверх
szz
Дата 10.7.2007, 18:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1289
Регистрация: 31.5.2005
Где: Moscow, Jerusalem

Репутация: нет
Всего: 33



А, еще касательно сайта...
При переходе меж страницами, в урле появляется #path , это хорошо. А почему при нажатии Back меня не возвращает на предыдущую страницу? Это плохо smile


--------------------
PM   Вверх
Alx
Дата 10.7.2007, 23:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



Цитата(szz @  10.7.2007,  18:06 Найти цитируемый пост)
Я бы пооветовал сделать не только один селект, а целый набор виджетов - кнопок, текст-инпутов и т.д. чекбоксов,

а цель какая? только скины? 3 встроенных скина это 5% возможностей моего селекта)

Цитата(szz @  10.7.2007,  18:06 Найти цитируемый пост)
чтобы их можно было бы красиво оформлять по 9-ячейной матрице, лучше всего исходник - фотошоповский psd, деленный слайсами (впрочем, ты наверное так и делаешь, да?).

воот ниииче не понял) у меня даже фотошопа нет) объясни про все эти слайсы и все такое smile

Цитата(szz @  10.7.2007,  18:06 Найти цитируемый пост)
А один селект - маловато!

согласен, но есть смысл писать такие библиотеки либо для расширения возможностей html-компонента либо для создания нового компонента. в данном случае я и то и то сделал - в первом случае добавил возможность менять дизайн простого селекта и подгружать опции с сервера,  а во втором - фактически сделал комбобокс с мультивыбором. 

пока аналогичных невоплощенных идей нет..)

Добавлено через 1 минуту и 10 секунд
Цитата(szz @  10.7.2007,  18:21 Найти цитируемый пост)
А, еще касательно сайта...
При переходе меж страницами, в урле появляется #path , это хорошо. А почему при нажатии Back меня не возвращает на предыдущую страницу? Это плохо 

да ну, я так и не понял, можно это кроссбраузерно сделать или нет, а с программными кнопками решил не заморачиваться..)
тем более меню одноуровневое, только разделы в документации есть, но и там всегда smartselect-менюшка перед глазами smile

Добавлено через 3 минуты и 50 секунд
Цитата(szz @  10.7.2007,  18:06 Найти цитируемый пост)
Но реально впечатляет твой селект, хорош. 

спасибо, я уж думал никого не впечатлит smile)

Цитата(szz @  10.7.2007,  18:06 Найти цитируемый пост)
Малюсенький недочетик - при экспанде выезжает как-то криво - сверху чтоли, даже не разберешь smile . Лучше уж пусть просто появляется. 

да, есть такой баг. это только в Firefox. все никак руки не доходят пофиксить, там довольно солидный дебаг получается...) если раздражает, пока можно просто отключить анимированное раскрытие, задав атрибут showspeed="0".

 smile 


--------------------
PM MAIL WWW ICQ   Вверх
Alx
Дата 17.7.2007, 00:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



новая версия! [2.5]
добавлено много новых возможностей, например создание простых текстовых полей с автоподстановкой с сервера (аналог Google Suggest). пример тут: http://alx.vingrad.ru/fwc/ru/smartselect#doc-autofill


--------------------
PM MAIL WWW ICQ   Вверх
Alx
Дата 17.7.2007, 00:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



Цитата(E-Mail)

Здравствуйте я в своей работе использую smartselect но возникла одна проблема когда список завалил за 600 позиций браузер просто виснет при обработке не могли бы вы подсказать как сделать чтобы при вводе текста поис не производился мгновенно, а положем с интервалом в 3 секунды, тоесть пользователь вводит текст и поле того как он ввел ждем 3 секунды и только потом начинаем искать.
Извените за наглость просто в яве я дуб дубом.
С уважением Никита


Итак, сперва надо разобраться почему виснет браузер (кстати, какой)? и в какой момент он виснет? при загрузке или только в момент автоподстановки? например вот тут - http://turbaza.ru/test/ при выборе страны Италия, загружается около 1500 отелей и никаких подвисаний, за исключением небольших тормозов. единственной возможной причиной подвисания при большом количестве пунктов может быть использование вложенного HTML. об этом посмотрите тут - http://alx.vingrad.ru/fwc/ru/smartselect#doc-skindesign

теперь касательно вашего вопроса: чтобы сделать задержку в три секунды после окончания ввода (хотя, как это может помочь от глюков?), добавьте атрибут ontype с таким содержимым:
Код

ontype="delayFill(id_списка);return false;"

и создайте такую JavaScript функцию:
Код

<script>
function delayFill(ss)
{   var delay = 3; // delay time in seconds
    window[ss+'_delay'] = new Date().getTime();
    setTimeout(function() {if(((new Date().getTime()) - window[ss+'_delay'])>=delay*1000) ss.titleKeyUp();},delay*1000);
}
</script>

если вы хотите задержку не после того, как юзер что-то ввел, а с момента как он начал вводить (что чуть больше может показаться полезным), функция должна быть такой:
Код

<script>
function delayFill(ss)
{   var delay = 3; // delay time in seconds
    setTimeout(function() {ss.titleKeyUp();},delay*1000);
}
</script>


однако лучше делать ограничение не по времени, а по количеству введенных символов. для этого существует специальный атрибут. просто добавьте fillstart="4" и подстановка начнется только тогда, когда юзер введет 4 или более символов.

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

Это сообщение отредактировал(а) Alx - 17.7.2007, 00:59


--------------------
PM MAIL WWW ICQ   Вверх
rcdimon
Дата 18.7.2007, 13:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 766
Регистрация: 12.7.2004
Где: Москва

Репутация: нет
Всего: 2



Цитата

Селекты лезут один под другой.

исправлено. вроде


Скажи пожалуйста как ты это исправил ) Я тут пишу одну штуку и тоже Select'ы почему-то лезут наверх.. z-index не помогает. 

ЗЫ Сорри за офтоп )
PM MAIL ICQ   Вверх
Alx
Дата 18.7.2007, 14:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



rcdimon
стандартные select`ы windows лезли и будут лезть выше всего. можно юзать хак с iframe, но проще использовать этот тулкит, т.к. он специально делался для замены убогому тегу <SELECT>!
этот тулкит может создавать не только комбобоксы, но и обычные селекты (вернее их "двойников"), а также текстовые поля с автоподстановкой. для этого есть атрибут [font=courier]mode[/font]!


--------------------
PM MAIL WWW ICQ   Вверх
Alco
Дата 7.8.2007, 10:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 5.8.2007

Репутация: нет
Всего: нет



Народ, помогите плз новичку!

Ситуация такая:

Если в списке срабатывает автоподстановка, то значение этого поля по submit не передается (Opera 9.22). В IE и FF все работает нормально.

Код

<form action="aaa.php" onSubmit="suggest.value4form();">
   <script>document.write(FWC.newSmartSelect('suggest.xml'));</script>
   <input type="hidden" name="kat" value="2"/>
   <input type="submit" value="Отправить" class="submit"/>
</form>


 smile 

Помогите плз.  smile 


Это сообщение отредактировал(а) Alco - 7.8.2007, 15:23
PM MAIL   Вверх
Alx
Дата 7.8.2007, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



что-то ничего не понимаю.. с одной стороны функция value4form() срабатывает, input:hidden`ы добавляются, с другой стороны, как элементы формы они не объявляются почему-то и Prototype.Form.serialize() не срабатывает..
http://alx.vingrad.ru/fwc/smartselect/offs...st_suggest.html
будем думать..


--------------------
PM MAIL WWW ICQ   Вверх
Alx
Дата 25.8.2007, 21:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



Открываем новый сайт smile
http://alx.vingrad.ru/fwc
вместе с тем  - новая версия: 2.6!
спасибо за помощь Endeveit`у.

добро пожаловать smile


--------------------
PM MAIL WWW ICQ   Вверх
pphornet
Дата 2.9.2007, 23:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 31.8.2007

Репутация: нет
Всего: нет



я пока присматриваюсь, но пару соображений выскажу

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

остается ощущение, что компонент что-то загружает, весь "дребезжит" и дергается


что хотелось бы увидеть в примерах:
работу компонента с многоуровневой БД
есть подобный пример с xml, а вот как заполнить те же 3 компонента зависимой друг от друга информацией из БД - такой пример был бы полезен
особенно, если еще будет автоподстановка smile

спасибо

Это сообщение отредактировал(а) pphornet - 2.9.2007, 23:28
PM MAIL   Вверх
Alx
Дата 3.9.2007, 00:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



Цитата(pphornet @  2.9.2007,  23:27 Найти цитируемый пост)
что явно портит впечатление:
в момент открытия и закрытия компонента 
- мышка меняет курсор на часики, из-за этого нет четкости работы элемента
- в статус баре мелькают сообщения о загрузке рисунков

остается ощущение, что компонент что-то загружает, весь "дребезжит" и дергается

ничего себе..  браузер, система?


по поводу БД: как таковой встроенной функции для работы с БД в тулките нет (уж слижком сложно выработать какой-то стандартный механизм, т.к. БД и запросы очень и очень разные). встроенный AJAX-подгрузчик (точнее их два - JS и PHP) предназначены для выборки из XML файлов (на основе значений атрибутов или XPath, см. статью).
для выборки из БД вы должны через PHP-подгрузчик (loadOptions_PHP) подключать собственный PHP файл, передавая ему необходимые параметры, в котором будет запрос к БД, возвращающий JSON или XML. вот, как работает подгрузка функций PHP (пример): при вводе срабатывает PHP-подгрузчик, вызывающий этот файл, и передающий ему 2 GET-парметра: name (первые буквы имени) и limit (max возвращаемых строк, по умолчанию - 10), что в принципе равно вызову этого файла так: http://alx.vingrad.ru/fwc/sources/ex/db.ph...ob&limit=10. как видите, он возвратил JSON строку в формате SmartSelect (о JSON и XML в тулките). далее эта строка автоматически обрабатывается падгрузчиком и подставляется в список для которого был вызван подгрузчик.
все очень просто.вам нужно только задать в loadOptions_PHP своему php-файлу нужные параметры, чтобы он сделал правильный запрос к вашей БД и вернул правильный для SmartSelect`а JSON или XML. всё остальное тулкит сделает сам.

а сделать зависимые списки в SmartSelect - это вообще не проблема. достаточно просто по событию выбора (onchange) на одном списке вызвать AJAX-подгрузчик для другого списка.

например так:

Код

<fwc:select id="letters" title="Буква"
    onchange="second.loadOptions_PHP(null,null,'http://alx.vingrad.ru/fwc/sources/ex/db.php','get',{name:letters.value[0],limit:20})"
    xmlns:fwc="http://alx.vingrad.ru/fwc">
  <fwc:option value="a">A</fwc:option>
  <fwc:option value="b">B</fwc:option>
  <fwc:option value="c">C</fwc:option>
  <fwc:option value="d">D</fwc:option>
  <fwc:option value="e">E</fwc:option>
  <fwc:option value="f">F</fwc:option>
</fwc:select>


вот и всё. теперь создаем любой компонент second, и смотрим результат: в него будут загружаться первые 20 имен функций PHP из БД MySQL, начинающихся на букву выбранную в первом списке.

вот пример: http://alx.vingrad.ru/fwc/_demos/cascade_db.html

Это сообщение отредактировал(а) Alx - 3.9.2007, 00:41


--------------------
PM MAIL WWW ICQ   Вверх
pphornet
Дата 3.9.2007, 07:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 31.8.2007

Репутация: нет
Всего: нет



спасибо за ответ
у меня система Windows XP, браузер IE 6

еще проверил на опере 8.54 - примеры с DOM (компоненты даже не отображаются), а примеры без DOM визуально работают хорошо
PM MAIL   Вверх
Alx
Дата 3.9.2007, 17:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



pphornet
8 Опера не поддерживает XML DOM. так что - только 9-ка..
возможно в скором времени появится решение и для 8-ки (а также Safari и Konqueror).

Добавлено через 17 секунд
странно, что у вас глюкает в ИЕ...


--------------------
PM MAIL WWW ICQ   Вверх
pphornet
Дата 3.9.2007, 19:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 31.8.2007

Репутация: нет
Всего: нет



да, причем даже когда мышку наводишь, уже курсор меняется и в статусбаре надпись проскакивает

а это для Китая поправил:

<?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>

PM MAIL   Вверх
Alx
Дата 3.9.2007, 20:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



pphornet, странно..

ага, спасибо, все руки не доходили smile


--------------------
PM MAIL WWW ICQ   Вверх
VasyaMalevich
Дата 14.10.2007, 18:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 14.10.2007

Репутация: нет
Всего: нет



Прива,

кто может дать внятный пример подключения к SmartSelect MySQL списка? На сайте я ничего не нашёл  smile 
Очень хочется использовать такую полезную вещь  smile 
PM MAIL   Вверх
Alx
Дата 14.10.2007, 21:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



VasyaMalevich, по разному. либо через JSON, либо через XML.
в чем конкретно вопрос?


--------------------
PM MAIL WWW ICQ   Вверх
VasyaMalevich
Дата 14.10.2007, 23:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 14.10.2007

Репутация: нет
Всего: нет



Честно говоря, не знаю что такое JSON, а XML-файл не хочется при каждом запросе создавать. Вопрос вот такой: где найти пример на PHP чтобы можно было его себе скопировать, подправить под свою БД и не заморачивать "а как там это всё работает"  smile 
PM MAIL   Вверх
Alx
Дата 15.10.2007, 01:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



VasyaMalevich, готового примера нет, но и заморачиваться особо не надо.
однако дело в том, что SmartSelect воспринимает 2 формата данных - JSON и XML (см. док-цию на сайте).
соответственно, чтобы опции из базы оказались в списке, PHP должен привести их в надлежащий формат и вернуть JSON или XML.
в случае XML совершенно не надо создавать какойто файл, достаточно в методе newSmartSelect() просто вызывать php скрипт, генерирующий XML из БД.
с JSON вообще все проще. если у васидет выборка из бд по одному полю, подойдет примерно такой код:

Код

<?php
$m = mysql_query("SELECT `options` FROM ...");

$json = array();

for($i=0;$i<mysql_num_rows($m);$i++)
{   $r = mysql_fetch_array($m);
    $json[] = array($f[0]);
}

?>
<script>
document.write(newSmartSelect('<?=json_encode($json);?>'));
</script>


Это сообщение отредактировал(а) Alx - 15.10.2007, 01:16


--------------------
PM MAIL WWW ICQ   Вверх
Starikan
Дата 25.10.2007, 15:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 87
Регистрация: 25.10.2007

Репутация: -2
Всего: -15



Используй XML Source Version 3.3 должно получиться
PM MAIL   Вверх
VasyaMalevich
Дата 26.10.2007, 20:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 14.10.2007

Репутация: нет
Всего: нет



Привет ещё раз! Получилось у меня правда не совсем так как хотелось бы и с огромными тормозами:

в пхп файле создаётся переменная $pacients, в которую посредствам цикла из MySQL добавляются имена и id пациентов: $pacients.='[$name],[$pid]'; потом переменная $pacients вставляется на вызов смарт селекта. Пациентов в базе больше 2000, поэтому создаются аццкие тормоза и я опять не могу использовать этот замечательный скрипт  smile 

Вот мой запрос к базе:

Код

  $result = mysql_query("SELECT pid, name FROM pacient ORDER BY name");
  while ($row = mysql_fetch_array($result)) {
        $pid = $row['pid'];
        $name = $row['name'];
        $pacients.='[$name],[$pid]';


В ИДЕАЛЕ ХОТЕЛОСЬ БЫ чтобы было текстовое поле, когда оператор начинает набивать фамилию пациента ему как в Экселе выходил бы подходящий вариант.  smile 

json использовать не могу, помоему не поодерживает сервер (Денвер)  smile  smile  smile 
PM MAIL   Вверх
Alx
Дата 26.10.2007, 23:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



VasyaMalevich
фто-то я не понял. все неправильно smile судя по тому, что у вас в $pacients, у вас даже переменные не должны значениями заменяться.. кавычки одинарные.

попробуйте так:

Код

$pacients = "[";
  $result = mysql_query("SELECT pid, name FROM pacient ORDER BY name");
  while ($row = mysql_fetch_array($result)) {
        $pacients .= "['{$row['name']}','{$row['pid']}'],";
}
$pacients .= "[]]";



Это сообщение отредактировал(а) Alx - 27.10.2007, 00:02


--------------------
PM MAIL WWW ICQ   Вверх
VasyaMalevich
Дата 27.10.2007, 11:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 14.10.2007

Репутация: нет
Всего: нет



Спасибо, всё работает, код-то правильный. Проблема в том что когда весь этот массив из 2000 юзеров и 2000 id грузится в смарт селект через переменную $pacients такие аццкие тормоза что просто  smile 
PM MAIL   Вверх
scorply
Дата 9.11.2007, 13:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 9.11.2007

Репутация: нет
Всего: нет



Не могу понять проблемы. На одном хостинге все работает (http://uralpress.katz.ru/), а на другом (http://ural-press.ru) в FireFox и Опере выдает ошибку "FWC:Error -> XSL-file '/js/FWC/design/design.xsl' loading error". Все проверил - файлы идентичные. Провайдер тоже ничего не может сказать... Help!

И еще по ходу вопрос. В FireFox стрелочка выпадающего списка отображается, а вот в IE - нет.
PM MAIL   Вверх
Alx
Дата 9.11.2007, 21:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



scorply, проверьте, правильно ли задана переменная window.fwcpath


Цитата(scorply @  9.11.2007,  13:15 Найти цитируемый пост)
И еще по ходу вопрос. В FireFox стрелочка выпадающего списка отображается, а вот в IE - нет. 

в каком скине?


VasyaMalevich, ну вообще-то это и неудивительно.. 2000 записей это даже для простого html много...


--------------------
PM MAIL WWW ICQ   Вверх
ashenemy
Дата 9.11.2007, 22:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 155
Регистрация: 7.11.2006

Репутация: нет
Всего: нет



делаю связанные списки
как полдучиьт в пхп  выбранный пользователем пункта меню, в какую переменную записывается

вот пример

Код

 <?php require_once 'js/FWC/php/SmartSelect.class.php'; $FWC=SmartSelect::getInstance(); ?>

     <script language="JavaScript" src="js/prototype.js"></script>
    <script>window.fwcpath = 'js';</script>
    <script language="JavaScript" src="js/FWC/js/sselect.js"></script>
        <form enctype=multipart/form-data action=?action=search  method=post>
            <td ><input type="text" name="search" class="search_inp"></input></td>
            <td> <?php echo $FWC->newSmartSelect('sel1.xml'); ?></td>
              <td><?php echo $FWC->newSmartSelect('sel2.xml'); ?></td>
                     <td width="13%" colspan="2"><input type="submit" value="Поиск"></input></td>
            </form>



Код

<?xml version="1.0" encoding="windows-1251"?>

<fwc:select mode="select" id="sel2" title="Выбрите с/м" size="20" xmlns:fwc="http://alx.vingrad.ru/fwc">
      <fwc:option type="y-v_ao">Авиамоторная</fwc:option>
      <fwc:option type="y_ao">Автозаводская</fwc:option>
      <fwc:option type="c_ao">Арбатская</fwc:option>
      <fwc:option type="y-z_ao">Академическая</fwc:option>
      <fwc:option type="c_ao">Александровский сад</fwc:option>
      <fwc:option type="c-v_ao">Алексеевская</fwc:option>


Код

<?xml version="1.0" encoding="windows-1251"?>

<fwc:select mode="select" id="sel1" title="Выберите округ" size="20"
            onchange="sel2.loadOptions_JS('sel2.xml','type',sel1.value);"
            xmlns:fwc="http://alx.vingrad.ru/fwc">
  <fwc:option value="s_ao">Северный А/О</fwc:option>
  <fwc:option value="s-v_ao">Северо-Восточный А/О</fwc:option>
  <fwc:option value="v_ao">Восточный А/О</fwc:option>
  <fwc:option value="y-v_ao">Юго-Восточный А/О</fwc:option>
  <fwc:option value="y_ao">Южный А/О</fwc:option>
  <fwc:option value="y-z_ao">Юго-Западный А/О</fwc:option>
  <fwc:option value="z_ao">Западный А/О</fwc:option>
  <fwc:option value="s-z_ao">Северо-Западный А/О</fwc:option>
  <fwc:option value="c_ao">Центральный А/О</fwc:option>
  <fwc:option value="mo">МО</fwc:option>

</fwc:select>



PM MAIL   Вверх
Alx
Дата 11.11.2007, 01:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



Цитата(ashenemy @  9.11.2007,  22:29 Найти цитируемый пост)
как полдучиьт в пхп  выбранный пользователем пункта меню, в какую переменную записывается

перед отправкой формы надо выполнить value4form и скрипт сгенерит нужные input:hidden`ы с именем равным id списка
соответственно переменная будет такая же


--------------------
PM MAIL WWW ICQ   Вверх
ashenemy
Дата 11.11.2007, 05:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 155
Регистрация: 7.11.2006

Репутация: нет
Всего: нет



Алекс прошу пример можно ???
PM MAIL   Вверх
ashenemy
Дата 12.11.2007, 02:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 155
Регистрация: 7.11.2006

Репутация: нет
Всего: нет



Пробую так

Код

<HTML>
<script language="JavaScript" src="js/prototype.js"></script>
    <script>window.fwcpath = 'js';</script>
    <script language="JavaScript" src="js/FWC/js/sselect.js"></script>
<form action=?action=search method=POST onsubmit="value4form();">
<td ><input type="text" name="search" class="search_inp"></input></td>
<td ><script>document.write(FWC.newSmartSelect('sel1.xml'));</script></td>
            <td ><script>document.write(FWC.newSmartSelect('sel2.xml'));</script></td>
<td width="13%" colspan="2"><input type="submit" value="Search"></input></td>
</form>


Добавлено через 52 секунды
но ни хрена не получается((((((
PM MAIL   Вверх
Alx
Дата 12.11.2007, 08:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



ashenemy, value4form Это метод объекта списка!! в документации же все написано!


--------------------
PM MAIL WWW ICQ   Вверх
ashenemy
Дата 12.11.2007, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 155
Регистрация: 7.11.2006

Репутация: нет
Всего: нет



Хоть убейте не вижу 
можешь на моем примере показать плз
PM MAIL   Вверх
Alx
Дата 13.11.2007, 15:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



http://alx.vingrad.ru/fwc/ru/doc-methods

onsubmit="a.value4form();b.value4form();"

где a и b -  id списков


--------------------
PM MAIL WWW ICQ   Вверх
ashenemy
Дата 23.11.2007, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 155
Регистрация: 7.11.2006

Репутация: нет
Всего: нет



проблема с русскими буквами

suggest.xml



Код

<?xml version="1.0" encoding="utf-8"?>

<fwc:select id="suggest" mode="text" skin="phpskin" fillstart="2"
            size="22" maxheight="135" title="Введите РёРјСЏ"
            ontype="suggest.loadOptions_PHP(null,null,'/ajax/db.php','get',{name:suggest.title.value,limit:10},'autofill');return false;"
            xmlns:fwc="http://alx.vingrad.ru/fwc"
/>



[*]db.php'[B][/B]

Код

mysql_select_db("stom");
mysql_query( 'SET NAMES CP1251' );
  $name   = mysql_real_escape_string($_GET['name']);
  $limit  = isset($_GET['limit']) ? "LIMIT ".intval($_GET['limit']) : "";

$m = mysql_query("SELECT * FROM `content` WHERE INSTR(`name`,'{$name}') = 1 {$limit}");

$a = false;
while($f = mysql_fetch_array($m)) $a[] = array($f['name'],$f['id']);

echo php_json_encode($a);

  function json_encode_string($in_str)
  {
    mb_internal_encoding("utf-8");
    $convmap = array(0x80, 0xFFFF, 0, 0xFFFF);
    $str = "";
    for($i=mb_strlen($in_str)-1; $i>=0; $i--)
    {
      $mb_char = mb_substr($in_str, $i, 1);
      if(mb_ereg("&#(\\d+);", mb_encode_numericentity($mb_char, $convmap, "utf-8"), $match))
      {
        $str = sprintf("\\u%04x", $match[1]) . $str;
      }
      else
      {
        $str = $mb_char . $str;
      }
    }
    return $str;
  }
  function php_json_encode($arr)
  {
    $json_str = "";
    if(is_array($arr))
    {
      $pure_array = true;
      $array_length = count($arr);
      for($i=0;$i<$array_length;$i++)
      {
        if(! isset($arr[$i]))
        {
          $pure_array = false;
          break;
        }
      }
      if($pure_array)
      {
        $json_str ="[";
        $temp = array();
        for($i=0;$i<$array_length;$i++)       
        {
          $temp[] = sprintf("%s", php_json_encode($arr[$i]));
        }
        $json_str .= implode(",",$temp);
        $json_str .="]";
      }
      else
      {
        $json_str ="{";
        $temp = array();
        foreach($arr as $key => $value)
        {
          $temp[] = sprintf("\"%s\":%s", $key, php_json_encode($value));
        }
        $json_str .= implode(",",$temp);
        $json_str .="}";
      }
    }
    else
    {
      if(is_string($arr))
      {
        $json_str = "\"". json_encode_string($arr) . "\"";
      }
      else if(is_numeric($arr))
      {
        $json_str = $arr;
      }
      else
      {
        $json_str = "\"". json_encode_string($arr) . "\"";
      }
    }
    return $json_str;
  }


работает нормально если в слове латиниуа, как только слова русские работать перестает((((
PM MAIL   Вверх
Alx
Дата 23.11.2007, 16:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



Цитата(ashenemy @  23.11.2007,  14:25 Найти цитируемый пост)
title="Введите имя"

не удивительно

все файлы точно в utf-8? без bom? 


--------------------
PM MAIL WWW ICQ   Вверх
ashenemy
Дата 23.11.2007, 16:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 155
Регистрация: 7.11.2006

Репутация: нет
Всего: нет



не все в кирилице только этот файл в юникоде
PM MAIL   Вверх
Alx
Дата 23.11.2007, 20:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



ну тогда делай все в кириллице..


--------------------
PM MAIL WWW ICQ   Вверх
ashenemy
Дата 24.11.2007, 00:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 155
Регистрация: 7.11.2006

Репутация: нет
Всего: нет



Я ПРОБЫВАЛ , не получидлось ожскажэи где что подправить?
PM MAIL   Вверх
Alx
Дата 24.11.2007, 01:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



а блин... там же тока Unicode в xsl.. ну блин юзай iconv короче на выходе
проверяй что выходит из echo, это должен быть валидный (для тулкита) json-array в кодировке utf-8 вот и все.



--------------------
PM MAIL WWW ICQ   Вверх
ashenemy
Дата 25.11.2007, 03:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 155
Регистрация: 7.11.2006

Репутация: нет
Всего: нет



в данный момент на выходе в пхп у меня русские слова выводит, мне их надо к чему то приводить или полученные от пользователя приводить в юникод?
PM MAIL   Вверх
quoro
  Дата 15.12.2007, 16:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 15.12.2007

Репутация: нет
Всего: нет



Кто-нибудь, кому не лень помочь - сделайте мне на этой библиотеке вып. список со ссылками на страницы, только со скином ss_alx. Я в этой библиотеке и вообще в JavaScript ничего не понимаю. А очень-очень надо. Help me!!!
Если кто-то захочет помочь:
Нужно сразу вставить скрипт в html и послать мне со всеми ресурсами.
PM MAIL   Вверх
Alx
Дата 15.12.2007, 18:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



ashenemy, то что сервер выводить должо быть в UTF-8 !! причем "без BOM"!


quoro, этого никто делать не будет.

1) подключаешь prototype и smartselect (такой файл уже есть в архиве в папке templates)
вообще, качай 1й архив, открывай папку templates, бери файл template.xml, открывай в блокноте и правь на такой код:

Код

<?xml version="1.0" encoding="utf-8"?>

<fwc:select id="linker"
            mode="select"
            title="мои любимые сайты"
            size="30"
            skin="ss_alx"
            onchange="location.href=linker.value[0]"
            xmlns:fwc="http://alx.vingrad.ru/fwc">

  <fwc:option value="http://ya.ru/">Яндекс</fwc:option>
  <fwc:option value="http://google.com">Google</fwc:option>
  <fwc:option value="http://forum.vingrad.ru/act-idx.html">Винград</fwc:option>
  <fwc:option value="http://ajaxy.ru">Ajaxy.ru</fwc:option>

</fwc:select>


Добавлено через 6 минут и 38 секунд
вот так - http://ajaxy.ru/fwc/_demos/linker.html


--------------------
PM MAIL WWW ICQ   Вверх
DrSol
Дата 27.12.2007, 10:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 27.12.2007

Репутация: нет
Всего: нет



День добрый. 
Столкнулся с проблемой при использовании этого селекта.

У меня таблица, в одной ячейке вставляю такой селект. Но при его открытии почему-то неверно отображается выпадающий список - не в том месте. Не срабатывается position:relative для выпадающего списка. Он вылезает так, как буд-то select в левом верхнем углу страницы...
Использую последнюю версию библиотеки (вчера скачал)
Глюк и в ИЕ и в  ФФ
Временно решил проблему, попиксельно подогнав выпадающий список через position:absolute
PM MAIL   Вверх
kid_a
Дата 28.12.2007, 14:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 2.11.2007

Репутация: нет
Всего: нет



Помогите пожалуйста разобраться.

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

Код

<?php

mysql_connect("localhost","kida","1");
mysql_select_db("tree");


mysql_query( 'SET NAMES CP1251' );
  $name   = mysql_real_escape_string($_GET['name']);
  $limit  = isset($_GET['limit']) ? "LIMIT ".intval($_GET['limit']) : "";

$m = mysql_query("SELECT * FROM `users` WHERE INSTR(`name`,'{$name}') = 1 {$limit}");

$a = false;
while($f = mysql_fetch_array($m)) $a[] = array($f['name'],$f['id']);

echo php_json_encode($a);

  function json_encode_string($in_str)
  {
    mb_internal_encoding("utf-8");
    $convmap = array(0x80, 0xFFFF, 0, 0xFFFF);
    $str = "";
    for($i=mb_strlen($in_str)-1; $i>=0; $i--)
    {
      $mb_char = mb_substr($in_str, $i, 1);
      if(mb_ereg("&#(\\d+);", mb_encode_numericentity($mb_char, $convmap, "utf-8"), $match))
      {
        $str = sprintf("\\u%04x", $match[1]) . $str;
      }
      else
      {
        $str = $mb_char . $str;
      }
    }
    return $str;
  }
  function php_json_encode($arr)
  {
    $json_str = "";
    if(is_array($arr))
    {
      $pure_array = true;
      $array_length = count($arr);
      for($i=0;$i<$array_length;$i++)
      {
        if(! isset($arr[$i]))
        {
          $pure_array = false;
          break;
        }
      }
      if($pure_array)
      {
        $json_str ="[";
        $temp = array();
        for($i=0;$i<$array_length;$i++)       
        {
          $temp[] = sprintf("%s", php_json_encode($arr[$i]));
        }
        $json_str .= implode(",",$temp);
        $json_str .="]";
      }
      else
      {
        $json_str ="{";
        $temp = array();
        foreach($arr as $key => $value)
        {
          $temp[] = sprintf("\"%s\":%s", $key, php_json_encode($value));
        }
        $json_str .= implode(",",$temp);
        $json_str .="}";
      }
    }
    else
    {
      if(is_string($arr))
      {
        $json_str = "\"". json_encode_string($arr) . "\"";
      }
      else if(is_numeric($arr))
      {
        $json_str = $arr;
      }
      else
      {
        $json_str = "\"". json_encode_string($arr) . "\"";
      }
    }
    return $json_str;
  } 
 





?>


suggest.xml
Код

<?xml version="1.0" encoding="utf-8"?>

<fwc:select id="suggest" mode="text" skin="phpskin" fillstart="2"
            size="22" maxheight="135" title="Справочник функций"
            ontype="suggest.loadOptions_PHP(null,null,'db.php','get',{name:suggest.title.value,limit:10},'autofill');return false;"
            xmlns:fwc="db.php"
/>

PM MAIL   Вверх
deadbead
  Дата 11.1.2008, 22:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 11.1.2008

Репутация: нет
Всего: нет



Во-первых хочу выразить признательность автору) Ну ооочень навороченный получился контрол) Долго выбирал между этим и dhtmlxCombo от DHX... Уж очень мне понравилась там функция формирования контрола на основе стандартного селекта... Но как оказалось это вариант мне не подходит.. Все равно придется генерить и стандартный и dhtml селект (для вывода криентам без поддержки яваскрипт). Поэтому выбор стал очевиден) В общем в любом случае решил использовать ваш замечательный компонент)

Однако есть небольшой вопрос. У меня задача настроить контрол следующим образом:

Допустим мне надо выбрать 6 картинок (картинки могут повторяться)
В неактивном состоянии отображается только картинка
При клике на картинку открывается список с описаниями картинок

Для наглядности я нарисовал как это в идеале должно выглядеть (во вложении)

Ну и было бы совсем замечательно если бы при наведении на уже выбранную картинку всплывала подсказка что это)

Возможно ли при текущем функционале контрола организовать такой выбор?

Заранее спасибо за ответ)

 

Присоединённый файл ( Кол-во скачиваний: 14 )
Присоединённый файл  exmpl.jpg 24,89 Kb
PM MAIL WWW ICQ GTalk   Вверх
Artak81
Дата 19.1.2008, 01:26 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 19.1.2008
Где: Испания

Репутация: нет
Всего: нет



МНЕ ОЧЕН ПОНРАВИЛАС СПАСИБО ХОРОШО ПОТРУДИЛИСЬ ТОЛКО НЕЗНАЮ У МЕНЯ В СПИСКЕ ЕСЛИ ЭЛЕМЕНТ СПИСКА ПРЕВОСХОДИТ РАЗМЕР ПРИ НОВЕДЕНИЯ МИШИ НА ЭЛЕМЕНТ ОСТАВШУЮ ЧАСТ ТЕРЯЮ ТО ЕТЬ НЕ ВИДНО ЕСЛИ НЕТРУДНО ИСПРАВТЕ ЭТО ПОТОМУ  ЧТО НАДО ДАТЬ ВЗОЖНОСТЬ ПОЕТИТЕЛЮ УВИДЕТЬ ТЕКСТ.
PM MAIL WWW ICQ Skype   Вверх
Artak81
Дата 19.1.2008, 02:46 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 19.1.2008
Где: Испания

Репутация: нет
Всего: нет



ПОДСКАЖИТЕ ПОЖАЛУСТА КАК ВИВЕСТИ ЕЛЕМЕНТ СПИСКА В HTML ТО ЕСТ КАК ПОЛУЧИТ ДОСТУП К ЭЛЕМЕНТУ
PM MAIL WWW ICQ Skype   Вверх
gotoks
Дата 22.1.2008, 15:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 22.1.2008

Репутация: нет
Всего: нет



Цитата(Alx @ 13.11.2007,  15:10)
http://alx.vingrad.ru/fwc/ru/doc-methods

onsubmit="a.value4form();b.value4form();"

где a и b -  id списков

Это уже было в векте раньше

Добавлено через 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>  Путь правильный.  В чем может быть проблема ???
PM MAIL   Вверх
Alx
Дата 23.1.2008, 02:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



Цитата(gotoks @  22.1.2008,  15:34 Найти цитируемый пост)
Это уже было в векте раньше

где было?

gotoks, проблема в том, что подгрузка xml и xsl идет через метод load (dom xml), кот не поддерживается Safari (хотя рекомендуется как универсальный на w3schools).
решается либо использованием php-подгрузчика, либо перепиской метода load_file объекта dom в файле FWC/js/sselect.js с использованием XMLHttpRequest`а. если перепишите и пришлете мне - буду благодарен smile потому что мне этим заниматься некогда..(

на остальные вопросы отвечу, когда появится чуть больше времени


--------------------
PM MAIL WWW ICQ   Вверх
gotoks
Дата 23.1.2008, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 22.1.2008

Репутация: нет
Всего: нет



Поянл ,спасибо.
Пока попробую использовать серверный вариант. Не получится, то тогда уже будем переписывать.
PM MAIL   Вверх
gotoks
Дата 23.1.2008, 14:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 22.1.2008

Репутация: нет
Всего: нет



Использование серверного варианта помогло. Правда пришлось немножко изменить класс SmartSelect в php, поскольклу у меня стояла версия php 5.1.6 а , для работы ф-й json_decode / json_encode нужна версия не меньше чем 5.2.1. Поскольку в прэкте уже использовался Zend Framework аналогичные ф-ии были взяты из него. Если такие изменения кому надо , то могу скинуть.  

Но возникла другая проблема. В опере, мазиле , и сафари не появляются scrollbar- ы в выпадающих списках,  параметр "maxheight" работает только в ИЕ (версия компонента 2.6, недавно скачанная с сайта). 
Может кто сталкивался с такой проблемой ?
PM MAIL   Вверх
niibaca
Дата 24.1.2008, 16:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 24.1.2008

Репутация: нет
Всего: нет



Получаю такую ошибку:

Fatal error: Class 'RuntimeException' not found in /home/apeman/data/www/***/js/FWC/php/SmartSelect.class.php on line 123
PM MAIL   Вверх
gotoks
Дата 24.1.2008, 16:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 22.1.2008

Репутация: нет
Всего: нет



Я так понимаю что нужно установить разширение для PHP "SimpleXML"
В новых версиях оно долждно быть подефолту. следовательно возникает вопроса, какая версия ПХП ?
PM MAIL   Вверх
niibaca
Дата 24.1.2008, 16:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 24.1.2008

Репутация: нет
Всего: нет



PHP Version 5.2.5
PM MAIL   Вверх
niibaca
Дата 24.1.2008, 20:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 24.1.2008

Репутация: нет
Всего: нет



Возможно ли при пхп-подгрузке сделать сообщающиеся списки (генерация xml на пхп)?
На джаваскрипте получилось отлично. Как только перевел на пхп - перестало работать. 
Я проследил - запрос на скрипт, который генерит xml отправляется, скрипт отрабатывает все как надо. Вот только ответ не обрабатывается.
PM MAIL   Вверх
LeMen
Дата 30.1.2008, 18:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 30.1.2008

Репутация: нет
Всего: нет



Народ обнаружил такую ошибку

Пишу вот такую вещь

Цитата

<div id="container_fwc_serviceselect4">
    <div class="smartselect"
         source='[["МегаФон-Москва","1",{"style":"background-image: url(/operators/1m.gif);padding:3px 0 3px 20px;background-repeat:no-repeat;background-position:0 2px;"}],
["СОНЕТ","2",{"style":"background-image: url(/operators/1m.gif);padding:3px 0 3px 20px;background-repeat:no-repeat;background-position:0 2px;"}]]'
         attr='{"id":"fwc_serviceselect4","title":"Services...","mode":"combo"}'></div>
</div>
<script>
FWC.evalSmartSelectTags($('container_fwc_serviceselect4));
<script>



Выкладываю на jsp шку 

в итоге - все работает - 
НО!

1) под оперой не поялвяется скролл при длинном списке не появляется скролл
2) ВНИМАНИЕ ! под мозиллой 1.5 и 2.+ на сервак приходит дублированный запрос под другими бразверями все работает корректно 

я так покопался вроде это связанно с функцией 

evalSmartSelectTags

а конкретно со строчкой 

 eval(sss[i].getElementsBySelector("script."+_id+"_script")[0].innerHTML);

но я могу ошибаться ))

Просьба разобраться! ))
Для меня проблема весьма критичная...

PS: Виджет просто супер - лучше всех что я видел (yahoo, dojo - отдыхают)

Это сообщение отредактировал(а) LeMen - 30.1.2008, 18:49
PM MAIL   Вверх
Alx
Дата 31.1.2008, 16:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



появилось немного свободного времени, на днях покопаюсь со всеми этими проблемами.


--------------------
PM MAIL WWW ICQ   Вверх
LeMen
Дата 31.1.2008, 17:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 30.1.2008

Репутация: нет
Всего: нет



еще одна проблема - ну это наверное может быть и не проблема виджета поскольку firefox 3 все еще в бете

но под Firefox/3.0b2 - не работает виджет - походу проблема в том что там не определяется xslt процессор
PM MAIL   Вверх
Artak81
Дата 25.2.2008, 20:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 19.1.2008
Где: Испания

Репутация: нет
Всего: нет



у меня проблема ребята помгите пожалуйста некак не могу сообразить я использую $php_self и при повторной 
загрузке хочу чтоб была позиция ранее вибранная мною я посилаю форму методом valu4form() и получаю переменную
но в виде php переменной например $a но мои списки на javascript и ету $a не могу исползовать. заранее спасибо.
PM MAIL WWW ICQ Skype   Вверх
Alx
Дата 28.2.2008, 03:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



Artak81, см атрибут oninit и метод selectOption()


--------------------
PM MAIL WWW ICQ   Вверх
href
Дата 3.3.2008, 18:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 25.10.2006
Где: Moscow

Репутация: нет
Всего: нет



Скачал-попробовал — вроде фурычит. Вставил в собственный код — форма разъехалась. Причём так, что поле ввода в середине экрана, а выпадуша вверху. Оказалось критичен доктайп. 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
PM MAIL WWW ICQ Skype GTalk   Вверх
Alx
Дата 4.3.2008, 01:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



ага.
и почему это - не понятно :(


--------------------
PM MAIL WWW ICQ   Вверх
dima_mak
Дата 7.3.2008, 17:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист любитель
*


Профиль
Группа: Участник
Сообщений: 154
Регистрация: 25.5.2004

Репутация: нет
Всего: нет



Как убрать  перенос строки перед меню?
пишу так:
Код

menu:
<pre style='margin:0px;padding:0px;'><script>
document.write(FWC.newSmartSelect('[["Ashdod"],["Holon"],["Rishon"],["Telaviv"]]','{"id":"comp1","skin":"ss_opera"}'));
</script></pre>


не помогает.......

PM MAIL   Вверх
Alx
Дата 11.3.2008, 22:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



надо табличку юзать..


--------------------
PM MAIL WWW ICQ   Вверх
dima_mak
Дата 11.3.2008, 23:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист любитель
*


Профиль
Группа: Участник
Сообщений: 154
Регистрация: 25.5.2004

Репутация: нет
Всего: нет



Цитата(Alx @ 11.3.2008,  22:55)
надо табличку юзать..

Пробовал.... не помогло.......
Код

menu:
<table border='0'><tr><td><script>
document.write(FWC.newSmartSelect('[["Ashdod"],["Holon"],["Rishon"],["Telaviv"]]','{"id":"comp1","skin":"ss_opera"}'));
</script></td></tr></table>

дай пример пожалуйста.
PM MAIL   Вверх
Alx
Дата 12.3.2008, 01:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



Код

<table border='0'><tr>
<td>menu:</td>
<td><script>document.write(FWC.newSmartSelect('[["Ashdod"],["Holon"],["Rishon"],["Telaviv"]]','{"id":"comp1","skin":"ss_opera"}'));</script></td>
</tr></table>



Это сообщение отредактировал(а) Alx - 12.3.2008, 01:05


--------------------
PM MAIL WWW ICQ   Вверх
dima_mak
Дата 13.3.2008, 01:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист любитель
*


Профиль
Группа: Участник
Сообщений: 154
Регистрация: 25.5.2004

Репутация: нет
Всего: нет



Спасибо. я стормозил....... smile 
PM MAIL   Вверх
dima_mak
Дата 14.3.2008, 18:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист любитель
*


Профиль
Группа: Участник
Сообщений: 154
Регистрация: 25.5.2004

Репутация: нет
Всего: нет



Ещё вопросик:
как узнать индекс элемента по его value?
PM MAIL   Вверх
Alx
Дата 24.3.2008, 20:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



Цитата(dima_mak @  14.3.2008,  18:25 Найти цитируемый пост)
Ещё вопросик:
как узнать индекс элемента по его value? 

хм, странно, почему я это не учел..

добавьте в javascript такой код:
Код

FWC_sSelect.prototype.findOption = function(value)
{   this.optionsNodes.indexOf(this.optionsNodes.find(function(s){return s.firstChild.firstChild.nodeValue == value}));
}


и вызываем так:

Код

self.findOption("value элемента");


Добавлено @ 20:02
Цитата(LeMen @  31.1.2008,  17:48 Найти цитируемый пост)
еще одна проблема - ну это наверное может быть и не проблема виджета поскольку firefox 3 все еще в бете

но под Firefox/3.0b2 - не работает виджет - походу проблема в том что там не определяется xslt процессор 

нет, дело было в другом.

пофиксено, но архивы обновлять не буду, пока не выйдет финальная версия 3ей лисы.
обновите вручную FWC/js/sselect.js



Это сообщение отредактировал(а) Alx - 24.3.2008, 20:07


--------------------
PM MAIL WWW ICQ   Вверх
auditt
Дата 12.5.2008, 10:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 12.5.2008

Репутация: нет
Всего: нет



а как сделать списку disable? ведь бывают такие ситуации когда нужно, а в описании нигде про такое не написано.

Это сообщение отредактировал(а) auditt - 12.5.2008, 10:53
PM MAIL   Вверх
Alx
Дата 26.5.2008, 22:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



Код

self.title.disable()
self.tbutton.disable()


вместо self - id списка.
и тоже самое в oninit если надо задизейблить сначала.

Это сообщение отредактировал(а) Alx - 26.5.2008, 22:10


--------------------
PM MAIL WWW ICQ   Вверх
zera
Дата 1.6.2008, 08:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 205
Регистрация: 19.1.2006
Где: saint-petersburg

Репутация: 2
Всего: 9



посмотрел пример по ссылке с первой страницы. в опере 9.50 Beta 2 / Build 1992 не работает вообще. иногда выплывает алерт с единицой.
я старый пример смотрю?
PM MAIL   Вверх
Alx
Дата 2.6.2008, 16:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



Opera 9.20 правда, но все работает на ура..

Это сообщение отредактировал(а) Alx - 2.6.2008, 17:30


--------------------
PM MAIL WWW ICQ   Вверх
zera
Дата 3.6.2008, 11:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 205
Регистрация: 19.1.2006
Где: saint-petersburg

Репутация: 2
Всего: 9



Цитата(Alx @  2.6.2008,  16:42 Найти цитируемый пост)
Opera 9.20 правда, но все работает на ура..

единственная реакция — мелькание списком у нижнего скругленного селекта при повторном нажатии на кнопку. попробую позже сам разобраться что к чему.
PM MAIL   Вверх
stvkot
Дата 3.6.2008, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 3.6.2008

Репутация: нет
Всего: нет



Прежде всего спасибо автору. Потестил контрол все понравилось единственный косяк это DOCTYPE собственно вопрос решение этой проблеммы существует? И есть в этом баге одна особенность если поставить скин ss_opera то под IE 6.0. все работает.

Это сообщение отредактировал(а) stvkot - 3.6.2008, 17:06
PM MAIL   Вверх
stvkot
Дата 4.6.2008, 16:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 3.6.2008

Репутация: нет
Всего: нет



Еще один вопрос при вызове метода selectOption выставляется значение в title и value но это не как не отражается на зависимых комбобоксах. Как с этим быть?
PM MAIL   Вверх
stvkot
Дата 4.6.2008, 18:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 3.6.2008

Репутация: нет
Всего: нет



Еще один вопрос при вызове метода selectOption выставляется значение в title и value но это не как не отражается на зависимых комбобоксах. Как с этим быть?
PM MAIL   Вверх
Alx
Дата 6.6.2008, 23:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



Цитата(stvkot @  3.6.2008,  16:59 Найти цитируемый пост)
Прежде всего спасибо автору. Потестил контрол все понравилось единственный косяк это DOCTYPE собственно вопрос решение этой проблеммы существует? И есть в этом баге одна особенность если поставить скин ss_opera то под IE 6.0. все работает.

я честно говоря не могу разобраться в чем дело.. может дело в css?..


Цитата(stvkot @  4.6.2008,  18:44 Найти цитируемый пост)
Еще один вопрос при вызове метода selectOption выставляется значение в title и value но это не как не отражается на зависимых комбобоксах. Как с этим быть? 

это зависит от того на каком обработчике у вас стоит событие на зависимый селект. если onclose, то он срабатывает при сворачивании списка, если onchange - при выборе пункта. не важно руками или через API.
;)


--------------------
PM MAIL WWW ICQ   Вверх
stvkot
Дата 7.6.2008, 08:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 3.6.2008

Репутация: нет
Всего: нет



Спасибо за ответ. Попробую разобраться с доктайпом если что получится обязательно отпишусь.
PM MAIL   Вверх
Alx
Дата 7.6.2008, 14:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



stvkot, буду благодарен)


--------------------
PM MAIL WWW ICQ   Вверх
nkarataev
  Дата 13.6.2008, 03:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 13.6.2008

Репутация: нет
Всего: нет



Доброе утро.

Пол дня провел, но не работает:

В упор не хочет работать пример 

http://forum.vingrad.ru/index.php?showtopi...t&p=1244859

уже все втупую скопировал... ан нет... пути в htmlе правил - не помогает((((
PM MAIL   Вверх
Alx
Дата 16.6.2008, 03:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



а в чем проблема-то?
какие-то ошибки выдаются?
вы уверены, что ваш php-файл верный json/xml выдает?


--------------------
PM MAIL WWW ICQ   Вверх
leader
Дата 19.6.2008, 18:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 19.6.2008

Репутация: нет
Всего: нет



Здравствуйте. В Опере при задании типа компонента mode: select, не выпадает список. Это замечено так же и на ваших примерах. 

Это сообщение отредактировал(а) leader - 20.6.2008, 15:43
PM MAIL   Вверх
Alx
Дата 21.6.2008, 13:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



leader, здравствуйте, спасибо, в новой Опере, 9.5 действительно не работает, причем не только при mode:select.
буду разбираться, что они там наворотили..

Это сообщение отредактировал(а) Alx - 21.6.2008, 14:02


--------------------
PM MAIL WWW ICQ   Вверх
leader
Дата 26.6.2008, 20:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 19.6.2008

Репутация: нет
Всего: нет



Здравствуйте. Подскажите, можно ли на у компонента SmartSelect изменять значение поля Title средствами JavaScript? 
например вот такая строчка:
document.getElementById('opt_names_title').value=object_name;
или вот такая строчка:
opt_names_title.value=object_name;
не дают нужного результата - поле Title остается прежним.
Имеется в виду, что страница уже сформирована и изменять нужно на клиенте.

PM MAIL   Вверх
Alx
Дата 27.6.2008, 15:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



http://alx.vingrad.ru/fwc/ru/doc-methods
Цитата

FWC_sSelect.title
Ссылка на HTML-объект поля INPUT. 

self.title.value = 'myval';


--------------------
PM MAIL WWW ICQ   Вверх
Alx
Дата 4.7.2008, 19:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



пофиксено для Opera 9.5
(в ней оказался новый принцип работы со свойством clip).


--------------------
PM MAIL WWW ICQ   Вверх
leader
Дата 6.7.2008, 06:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 19.6.2008

Репутация: нет
Всего: нет



Здравствуйте, обновил компонент до версии 2.6.2, но проблема с оперой не исчезла. На страничке с вашими примерами, выпадающие списки также не появляются.

Это сообщение отредактировал(а) leader - 6.7.2008, 09:19
PM MAIL   Вверх
Alx
Дата 6.7.2008, 22:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



leader, Здравствуйте.
хм, странно, попробуйте обновить кэш..


--------------------
PM MAIL WWW ICQ   Вверх
wind17
Дата 7.7.2008, 17:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 7.7.2008

Репутация: нет
Всего: нет



Здравствуйте!

в  Safari  селекты не отображаются. причем не работает как в сафари на Mac, так и на windows. версия и там и там больше, чем 2.0  smile 


кроме того не работает прозрачность.  прописываю в стилях png-картинки (как в скине ss_alx), а за ними белый фон появляется. 

 smile 

Это сообщение отредактировал(а) wind17 - 7.7.2008, 17:46
PM MAIL   Вверх
wind17
Дата 10.7.2008, 15:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 7.7.2008

Репутация: нет
Всего: нет



Здравствуйте еще раз))
пыталась я использовать пример на 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

 smile 
PM MAIL   Вверх
Alx
Дата 10.7.2008, 15:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



попробуйте заменить 108 строку файла FWC/php/SmartSelect.class.php вот на это:

Код

$xsl = simplexml_load_file($xslfile);



--------------------
PM MAIL WWW ICQ   Вверх
wind17
Дата 10.7.2008, 16:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 7.7.2008

Репутация: нет
Всего: нет



пробывала. не помогает. 
Если этого не сделать то список ошибок такой : 
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

по крайней мере мне так кажется...

Это сообщение отредактировал(а) wind17 - 10.7.2008, 16:43
PM MAIL   Вверх
Alx
Дата 10.7.2008, 17:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



какая версия PHP?


--------------------
PM MAIL WWW ICQ   Вверх
wind17
Дата 10.7.2008, 17:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 7.7.2008

Репутация: нет
Всего: нет



PHP Version 5.2.6
PM MAIL   Вверх
Alx
Дата 14.7.2008, 13:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



странно очень..
даже не знаю, почему может такое происходить..
единственный известный мне метод применение xslt преобразования к SimpleXML - именно этот, через XSLTProcessor..
попробуйте создать тему в топике PHP, и скиньте мне, пожалуйста, ссылку: сюда или в личку.


--------------------
PM MAIL WWW ICQ   Вверх
wind17
Дата 14.7.2008, 14:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 7.7.2008

Репутация: нет
Всего: нет



а может таки есть javascript решение для safari? 
+ есть ли возможность решить пробелму с прозрачностью. например я делаю закругленные углы для селекта при помощи  png картинки, но вместо прозрачного- получаю белый фон. 
PM MAIL   Вверх
leader
Дата 20.7.2008, 10:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 19.6.2008

Репутация: нет
Всего: нет



Здравствуйте, в Opera 9.51 проблем нет, а в Opera 9.5 все-таки выпадающие списки не выпадают.

Это сообщение отредактировал(а) leader - 20.7.2008, 11:07
PM MAIL   Вверх
Unicum
Дата 18.8.2008, 10:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 18.8.2008

Репутация: нет
Всего: нет



Доброго времени суток. 
2 вопроса:
Цитата

Ошибка синтаксического анализа XML: лишние данные после элемента документа
Адрес: http://www.***.ru/***/
Строка 2, символ 1:<b>Warning</b>:  simplexml_load_file() [<a href='function.simplexml-load-file'>function.simplexml-load-file</a>]: I/O warning : failed to load external entity &quot;&quot; in <b>/usr/var/.../js/FWC/php/ajaxload.php</b> on line <b>19</b><br />
^

 и  если подключать xml  через js а не php , есть возможность сделать iconv чтоб подстановка работала и на windows-1251 ? 

Цитата

<?xml version="1.0" encoding="utf-8"?>

<fwc:select id="suggest" mode="text" skin="ss_alx" fillstart="2"
            size="22" maxheight="135" title="test"
            ontype="suggest.loadOptions_PHP(null,null,'/sale/1/db.php','get',{name:suggest.title.value},'autofill');return false;"
    xmlns:fwc="http://alx.vingrad.ru/fwc"
/>

PM MAIL   Вверх
href
Дата 22.8.2008, 10:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 42
Регистрация: 25.10.2006
Где: Moscow

Репутация: нет
Всего: нет



Здесь пишется про новые версии SmartSelect, что пофиксины мелкие баги... Правильно я понимаю, что проблема с DOCTYPE XHTML 1.0 Transitional так и не решена? И стоит ли ожидать её решения?

PM MAIL WWW ICQ Skype GTalk   Вверх
Sanchezzz
  Дата 22.8.2008, 10:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 3
Всего: 60



правда почему то под оперу не пашут опера 9.50. зато для осла красота.


--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
rusmes
Дата 22.8.2008, 14:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 22.8.2008

Репутация: нет
Всего: нет



и в Firefox 3.0.1 тоже, к сожалению, не работает :-(
PM MAIL   Вверх
Unicum
Дата 26.8.2008, 11:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 18.8.2008

Репутация: нет
Всего: нет



Цитата(Sanchezzz @  22.8.2008,  10:51 Найти цитируемый пост)
под оперу не пашут опера 9.50.

попробуй не прописывать скин, тогда всё будет работать более-менее..

Цитата(rusmes @  22.8.2008,  14:49 Найти цитируемый пост)
и в Firefox 3.0.1 тоже, к сожалению, не работает :-( 

работает, только css поправить чтоб вылезало не сверху страницы =)


PM MAIL   Вверх
Alx
Дата 26.8.2008, 19:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



качайте последнюю версию. тамвсё везде работает.
кроме лага doctype`а, я не знаю в чем там дело :(


--------------------
PM MAIL WWW ICQ   Вверх
rusmes
Дата 3.9.2008, 14:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 22.8.2008

Репутация: нет
Всего: нет



Цитата(Alx @  26.8.2008,  19:02 Найти цитируемый пост)
качайте последнюю версию. тамвсё везде работает.
кроме лага doctype`а, я не знаю в чем там дело :( 

Действительно работает. Мешало расширение Firebug, но стоило его отключить и все пришло в норму smile
PM MAIL   Вверх
Unicum
Дата 12.9.2008, 08:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 18.8.2008

Репутация: нет
Всего: нет



В гугл хроме не отображается в принципе автозаполнение, только у меня?
PM MAIL   Вверх
rusmes
Дата 19.9.2008, 13:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 22.8.2008

Репутация: нет
Всего: нет



Цитата(Alx @ 24.3.2008,  20:02)
Цитата(dima_mak @  14.3.2008,  18:25 Найти цитируемый пост)
Ещё вопросик:
как узнать индекс элемента по его value? 

хм, странно, почему я это не учел..

добавьте в javascript такой код:
Код

FWC_sSelect.prototype.findOption = function(value)
{   this.optionsNodes.indexOf(this.optionsNodes.find(function(s){return s.firstChild.firstChild.nodeValue == value}));
}


и вызываем так:

Код

self.findOption("value элемента");

пытаюсь вывести select с выбранным необходимым пунктом, следующим образом:
sel.selectOption(sel.findOption("Значение"));
но sel.findOption("Значение") возвращает значение undefined, и, соответственно, в селекте выбирается последний пункт, а не тот который нужен...

Похоже, что что-то делаю не так, но никак не могу понять что именно... Не поможете?

PM MAIL   Вверх
Siriel
Дата 23.9.2008, 18:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 23.9.2008

Репутация: нет
Всего: нет



Возникла проблема при использовании данного комбо-бокса вместе с 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 (не инициализируется)


PM MAIL   Вверх
rusmes
Дата 3.10.2008, 11:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 22.8.2008

Репутация: нет
Всего: нет



Цитата(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 (не инициализируется)

а jQuery.noConflict(); вы используете? если нет, то советую взглянуть на следующую страницу:
как использовать jQuery совместно с другими библиотеками (например prototype)



Это сообщение отредактировал(а) rusmes - 3.10.2008, 11:48
PM MAIL   Вверх
newajax
Дата 3.10.2008, 14:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 3.10.2008

Репутация: нет
Всего: нет



 smile 
FWC:SmartSelect на php помогите!

Это сообщение отредактировал(а) newajax - 3.10.2008, 14:14
PM MAIL   Вверх
faclon
Дата 11.11.2008, 10:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 11.11.2008

Репутация: нет
Всего: нет



спасибо за компонент!

1. Не работает в Chrome 
Uncaught TypeError: Object #<a Document> has no method 'load'

doc.load(xmlfile);

почитал инфу поданному поводу, похоже придется переделывать весь класс dom

2. Метод size - не совсем удобен, есть проблема с IE6, когда надо селект сделать 200px или еще хуже в %, а в селекте есть строка которая больше этой длины, IE6 режет по размерам, все остальные увеличивают список

3. 
PM MAIL   Вверх
faclon
Дата 11.11.2008, 19:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 11.11.2008

Репутация: нет
Всего: нет



3. не возможно создать объект с id=type

newajax, а это как???
PM MAIL   Вверх
Kalataru
Дата 21.11.2008, 09:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 21.11.2008

Репутация: нет
Всего: нет



Как сделать так, чтобы при наведении мышки на список (а не при клике) - выпадал список.  

Код


<fwc:select id="myselect4" design="mystyle" title="Дилеры" mode="select"  
  oninit="docs_nav.title.value=docs_nav.optionsNodes.find(function(s) {return s.getAttribute('val') == document.location.pathname.substring(document.location.pathname.indexOf('-')+1)}).innerHTML.stripTags();" 
  onchange="if(this.value[0]!=null) document.location.href=(this.value[0]);"
  xmlns:fwc="http://alx.vingrad.ru/fwc" skin="myskin" maxheight="0" size="5">    
    <fwc:option value="index.php?Itemid=63" >Россия</fwc:option>
    <fwc:option value="index.php?Itemid=64" >Белоруссия</fwc:option>



Это сообщение отредактировал(а) 12345c - 17.2.2010, 19:16
PM MAIL   Вверх
Alx
Дата 21.11.2008, 23:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



Kalataru, добавьте после скрипта sselect.js такой скрипт:
Код

<script type="text/javascript">
FWC_sSelect.prototype.showByRollOver = function()
{
  Event.observe(this.title,'mouseover',function(){this.showHideOptions()}.bind(this));
  Event.observe(this.tbutton,'mouseover',function(){this.showHideOptions()}.bind(this));
  Event.observe(this.title,'mouseout',function(){this.showHideOptions('hide')}.bind(this));
  Event.observe(this.tbutton,'mouseout',function(){this.showHideOptions('hide')}.bind(this));
}
</script>

и пропишите в oninit: 
Цитата

oninit="docs_nav.showByRollOver();docs_nav.title.value=docs_nav.optionsNodes.find(function(s) {return s.getAttribute('val') == document.location.pathname.substring(document.location.pathname.indexOf('-')+1)}).innerHTML.stripTags();"


Это сообщение отредактировал(а) Alx - 21.11.2008, 23:33


--------------------
PM MAIL WWW ICQ   Вверх
juicy_emad
Дата 3.12.2008, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 18.3.2007

Репутация: нет
Всего: нет



Что-то не пойму как динамически создавать комбобоксы.
Пишу что-то вроде:
Код


  <tr>
    <td width="15%" style="background-color: #e7eef4; text-align: center;" valign="middle" rowspan="2"><b>Собственники <br>/ Пользователи</b>: </font></td>
    <td width="18%" style="background-color: #f7fafc;" valign="middle" rowspan="2"><font class="smallt">Название организации:</td>
    <td width="66%" id="userControls">
  <script language="JavaScript">
  <!--
  var userControlsCnt = 2;
  
  function addUsersControl() { 
    userControlsCnt++;
    var script = FWC.newSmartSelect('[[\"\"],[\"\"]]','{\"skin\":\"ss_opera\",\"id\":\"USERS_NAME" + userControlsCnt + "\"}');
    document.getElementById("userControls").innerHTML +=  "<script>document.write(FWC.newSmartSelect('[[\"\"],[\"\"]]','{\"skin\":\"ss_opera\",\"id\":\"USERS_NAME" + userControlsCnt + "\"}'));</script>";
    document.getElementById("userControls").innerHTML += script;
  }
  -->
  </script>
      <script>document.write(FWC.newSmartSelect('[[""],[""]]','{"skin":"ss_opera","id":"USERS_NAME1"}'));</script>
      <script>document.write(FWC.newSmartSelect('[[""],[""]]','{"skin":"ss_opera","id":"USERS_NAME2"}'));</script>
    </td>
  </tr>
  <tr>
    <td width="66%">
      <a href="#null" title="Добавить организацию" onclick="addUsersControl();"><img src="res/img/bAdd16.png" alt="Add user image" border="0"></a>
      <a href="#null" title="Удалить организацию"><img src="res/img/bDelete16.png" alt="Delete user image" border="0"></a>
    </td>
  </tr>


Ну, и, не работает нифига. Код прописывается, но ничего не отображается. Видимо, это как-то связано с инициализацией компонента. Как это зафиксить?

Это сообщение отредактировал(а) juicy_emad - 3.12.2008, 14:55
PM MAIL   Вверх
Alx
Дата 4.12.2008, 18:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



juicy_emad, почитайте вводную статью документации.


--------------------
PM MAIL WWW ICQ   Вверх
Artak81
Дата 5.12.2008, 16:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 19.1.2008
Где: Испания

Репутация: нет
Всего: нет



Здраствуете. Я уже на несколких своих страницах исползую этот селект. Хочу особенно поблогодарить автора за то что сделал такое чудо и потрудился столко.
Но у меня снова один вопрос. Пробовал в Internet explorer-е id.value4form()  посилает поля hidden и посредством $_Post[id] получаю данные но в  Mozilla firefox 3.0.4 и Opera 9.60 id.value4form() не срабативает и нечего не посилает в чем проблема может кто подскажет?.

Это сообщение отредактировал(а) Artak81 - 5.12.2008, 18:06
PM MAIL WWW ICQ Skype   Вверх
juicy_emad
Дата 8.12.2008, 13:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 18.3.2007

Репутация: нет
Всего: нет



Собственно, баг: выпадающие списки отображаются под компонентами. FireFox 3.0.3 on GNU/Lunix Ubuntu 8.04

user posted image

Код

  <tr>
    <td width="18%" style="background-color: #f7fafc;" valign="middle"><font class="smallt">Почтовый индекс:</td>
    <td width="62%"><div class="smartselect" source="ajaxGetPostIndexes.xml"></div></td>
    <td width="2%"></td>
    <td width="2%"></td>
  </tr>
  <tr>
    <td width="18%" style="background-color: #f7fafc;" valign="middle"><font class="smallt">Район:</td>
    <td width="62%"><script>document.write(FWC.newSmartSelect('[<%
      String[][] res;
      res = myDB.select("SELECT NAME " +
                        "  FROM REGIONS");
      if (res != null) {
        for (int i = 0; i < res.length; i++) {
          out.print("[\"");
          out.print(res[i][0]);
          out.print("\"]");
          if (i + 1 != res.length) out.print(",");
        }
      }
      %>]','{"skin":"ss_opera","id":"ADDRESS_REGION","mode":"text","size":"35"}'));</script></td>
    <td width="2%"></td>
    <td width="2%"></td>
  </tr>
  <tr>
    <td width="18%" style="background-color: #f7fafc;" valign="middle"><font class="smallt">Населённый пункт:</td>
    <td width="62%"><div class="smartselect" source="ajaxGetSettls.xml"></div></td>
    <td width="2%"></td>
    <td width="2%"></td>
  </tr>
  <tr>
    <td width="18%" style="background-color: #f7fafc;" valign="middle"><font class="smallt">Тип населённого пункта:</td>
    <td width="62%"><div class="smartselect" source="ajaxGetSettlTypes.xml"></div></td>
    <td width="2%"></td>
    <td width="2%"></td>
  </tr> 


---

Да, и ещё - не круто, что кнопка выпадающего списка - это INPUT. Это создаёт 2 проблемы:
1.) При переключении по TAB'у, мы попадаем на неё (а это, впринципе, нафиг не нужно).
2.) К примеру, FireFox, при таком активированном контроле, всё равно отображает текстовый курсор ввода (несмотря на то, что стоит READONLY).
PM MAIL   Вверх
Artak81
Дата 8.12.2008, 17:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 19.1.2008
Где: Испания

Репутация: нет
Всего: нет



 Посмотри последовательность создания полей по моему твой селект, если создается динамически то должен создатся после создания остальних не динамических елементов. То есть после загрузки всего документа. Вобшем имеет значение последовательность создания но в твоем случае думаю можно без динамического списка.
У меня 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 все работает но в осталных с задачей я справился так .

Это сообщение отредактировал(а) Artak81 - 8.12.2008, 17:53
PM MAIL WWW ICQ Skype   Вверх
Alx
Дата 8.12.2008, 21:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



juicy_emad, действительно, проблема в том, что контрол "Район" создается раньше остальных, а соответственно имеет наибольшей zIndex и раполагается выше остальных контролов.
мне не очень понятен смысл использования в данном случае div:smartselect. обычно это необходимо там, где нельзя выполнять прямой javascript-код, однако тут он спокойно выполняется в контроле "Район". Почему бы вам не заменить все div:smartselect на стандартный метод FWC.newSmartSelect() ?
например, так:

Код

<div class="smartselect" source="ajaxGetPostIndexes.xml"></div>
->
<script type="text/javascript">document.write(FWC.newSmartSelect("ajaxGetPostIndexes.xml")</script>



--------------------
PM MAIL WWW ICQ   Вверх
Alx
Дата 8.12.2008, 21:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



Цитата(Artak81 @  5.12.2008,  16:20 Найти цитируемый пост)
Здраствуете. Я уже на несколких своих страницах исползую этот селект. Хочу особенно поблогодарить автора за то что сделал такое чудо и потрудился столко.

рад, что тулкит вам пригодился smile

Цитата(Artak81 @  5.12.2008,  16:20 Найти цитируемый пост)
Но у меня снова один вопрос. Пробовал в Internet explorer-е id.value4form()  посилает поля hidden и посредством $_Post[id] получаю данные но в  Mozilla firefox 3.0.4 и Opera 9.60 id.value4form() не срабативает и нечего не посилает в чем проблема может кто подскажет?.

что-то не понимаю, приведите пример с проблемой.
вот здесь [ http://alx.vingrad.ru/fwc/_demos/sselect.php] пример отправки данных (кнопка submit), во всех браузерах всё работает..


--------------------
PM MAIL WWW ICQ   Вверх
Artak81
Дата 9.12.2008, 12:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 19.1.2008
Где: Испания

Репутация: нет
Всего: нет



Действительно у вас работает. Но я мой пример тестировал 1000 раз и нашел выход но без исползования valu4form.
Ранше я писал так <form action="<? echo $PHP_SELF;?>" method="POST" id="set_Ob"  onsubmit="id.valu4form()"  enctype="multipart/form-data">; Может что нетак пишу smile . в ие небыло некоких проблем а в остолних ей богу несмог таки понят. 
Я уже все поменял и все отлично работает.

А поменял всего то, то что написал новую функцию
Код

var Ob1,Ob2;

function Loader(){
    Ob1 = document.getElementById("sel_hiddens");
    Ob2 = document.getElementById("set_Ob");
    Ob2.appendChild(Ob1);
    Ob1.innerHTML = "";
}

function set_Hidden(sel_Temp)
{
    for(var j=0;j<sel_Temp.value.length;j++)
    {     
     var ih = document.createElement("input");
        ih.setAttribute('type','hidden');
        ih.setAttribute('name',sel_Temp.id+'[]');
        ih.setAttribute('id',sel_Temp.id+'[]');
        ih.value = sel_Temp.value[j];
        Ob1.appendChild(ih);
    }
}
...
<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" onload="Loader()">
...
<form action="<? echo $PHP_SELF;?>" method="POST" id="set_Ob"  onsubmit="set_Hidden(id)"  enctype="multipart/form-data">
...
<td width="180"><div id="sel_hiddens" name = "sel_hiddens"></div></td>
...


так у меня все сработало.

Главное выход есть. Конечно было бы хорошо чтоб я понял в чем была проблема. Если из висше сказанного мною понятно вчем проблема был бы рад узнать а если нет то нечего страшого. Все равно класно.

И еше вопрос. 
У меня в списках встречаются очень длинные элементи. Получается что осталная часть невыдна и хотелось би при наведения мишки на него увидеть все до конца. Как могу добится этого.

Это сообщение отредактировал(а) Artak81 - 9.12.2008, 12:43
PM MAIL WWW ICQ Skype   Вверх
Alx
Дата 11.12.2008, 02:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



Внимание!
Исправлен баг, из-за которого тулкит не работал с DOCTYPE !

Новая версия - 2.6.3 - доступна для скачивания!


--------------------
PM MAIL WWW ICQ   Вверх
Alx
Дата 5.2.2009, 09:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



Внимание!
05.02.09 апдейт до версии 2.7 
Теперь тулкит работает во всех браузерах
включая SafariKonqueror и Google Chrome.
+ исправлен баг с появлением курсора на кнопке раскрытия списка в Firefox.

Это сообщение отредактировал(а) Alx - 5.2.2009, 09:23


--------------------
PM MAIL WWW ICQ   Вверх
Slavok47
Дата 25.5.2009, 16:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 25.5.2009

Репутация: нет
Всего: нет



А у этих Селектов, есть состояние disabled как у обычных, если да то куда это прописать?
PM MAIL   Вверх
EListov
Дата 13.11.2009, 14:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 20.4.2009

Репутация: нет
Всего: нет



А у меня не во всех браузерах работает...
во всяком случае в IE6 и Konqueror
Версия 2.7.
Причем примеры на сайте тоже в этих браузерах не видны...

Это сообщение отредактировал(а) EListov - 13.11.2009, 14:52
PM MAIL   Вверх
gruzoveek
Дата 19.11.2009, 11:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 19.11.2009

Репутация: нет
Всего: нет



компонент хороший, примеров бы побольше! =)  smile 

в частности - нужен пример, как вставить этот комбо бокс в форму таким образом, чтоб в нем уже были отмечены кое-какие значения. Это будет форма редактирования данных в базе, там уже есть какие-либо значения, и их надо подгрузить в этот компонент. Заранее благодарен)

Это сообщение отредактировал(а) gruzoveek - 19.11.2009, 11:32
PM MAIL   Вверх
MishaKor
Дата 15.2.2010, 09:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 15.2.2010

Репутация: нет
Всего: нет



если тема жива, то подскажите как можно сделать чтоб некоторые элементы раскрывающегося списка были неактивны не через xml  там я разобрался, а через яву 

Код

FWC.newSmartSelect('[[\"1\",\"1\"],[\"1-1\",\"1-1\"],[\"1-2\",\"1-2\"],[\"2\",\"2\"],[\"2-1\",\"2-1\"],[\"2-2\",\"2-2\"]]'
  ,'{\"id\":\"f_NapravDeyat1\",\"readonly\":\"true\",\"multiple\":\"true\",\"maxheight\":\"220\",\"fewprefix\":\"направлений:'
    +' \",\"fewall\":\"всё\",\"skin\":\"ss_ex3\",\"size\":\"31\",\"title\":\"$f_NapravDeyat1\"}')


чтобы пункты [\"1\",\"1\"] и [\"2\",\"2\"] были неактивны при наведение



Это сообщение отредактировал(а) 12345c - 17.2.2010, 19:14
PM MAIL   Вверх
ZuvilsMow
Дата 25.11.2020, 23:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 25.11.2020

Репутация: нет
Всего: нет




Модератор: Сообщение скрыто.

PM MAIL   Вверх
Страницы: (10) [Все] 1 2 3 ... Последняя »
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.6744 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.