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

Поиск:

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


 




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


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

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