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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> тулкит для создания комбобоксов + AJAX-подгрузка, xml javascript combo box toolkit library 
:(
    Опции темы
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   Вверх
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




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


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

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