
    Новые сообщения [новые:0]
  
  Дайджест 
  
  Горячие темы
    Избранное [новые:0]
  
Форумы 
 
Пользователи 
Статистика 
Статистика нагрузки 
    Мод. лог 
  
  Поиск 
| 
 | 
| 14.01.2007, 13:17 | |||
|---|---|---|---|
| 
 | |||
| Изменение содержания <select> | |||
| #18+ Имеется 2 selectbox'a,в обоих значения берутся из БД,хочу ,чтобы в зависимости от значений первого selectbox'a значения второго изменялись,но все это БЕЗ ПЕРЕЗАГРУЗКИ страницы.Скрипт пишется на РНР,слышал такое возможно на AJAX,но нигде не могу найти этой фичи Модератор: Правила форума читали? Перенесено из форума PHP&PERL ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
|  | 
| 14.01.2007, 14:26 | |||
|---|---|---|---|
| 
 | |||
| Изменение содержания <select> | |||
| #18+ ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
|  | 
| 16.01.2007, 12:25 | |||
|---|---|---|---|
| 
 | |||
| Изменение содержания <select> | |||
| #18+ ну вообще-то в ссылке ни слова о селектах...праально,можно подстроить,но я пока в ajax'е слабоват,и поэтому была бы лучше статья непосредственно по моей теме...конечно ,если не затруднит)) ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
|  | 
| 16.01.2007, 13:02 | |||
|---|---|---|---|
| Изменение содержания <select> | |||
| #18+ Orucну вообще-то в ссылке ни слова о селектах...ну ты тёмный  http://developer.mozilla.org/en/docs/DOM:element.innerHTML ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
|  | 
| 24.01.2007, 09:47 | |||
|---|---|---|---|
| 
 | |||
| Изменение содержания <select> | |||
| #18+ maXmo  ты реально сам понял ,что за ссылКУ мне дал ??я спрашиваю о динамическом изменении данных без заполнения массивов,просто загрузка селекта динамически из базы Black насчет remove...i'm not about zat ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
|  | 
| 24.01.2007, 11:51 | |||
|---|---|---|---|
| Изменение содержания <select> | |||
| #18+ OrucBlack насчет remove...i'm not about zat Как раз об этом, если Вы повторно обновляете <select>, сначало надо удалить старые <option> Динамический Select ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
|  | 
| 24.01.2007, 14:36 | |||
|---|---|---|---|
| Изменение содержания <select> | |||
| #18+ Orucя спрашиваю о динамическом изменении данных без заполнения массивов,просто загрузка селекта динамически из базыэто оно и есть: шлёп – и всё поменялось. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
|  | 
| 25.01.2007, 12:14 | |||
|---|---|---|---|
| 
 | |||
| Изменение содержания <select> | |||
| #18+ этот шлёп еще сделать надо))) 2Black зачем мне удалять значения старых опций если я буду оперировать дивами воть вам код НО ОН У МЕНЯ ПОЧЕМУ ТО НЕ ПАШЕТ 1) Завести 2 слоя (<div>) для первого select (он формируется) и для второго (который сформируется после выбора в первом): Код: html <B> <form action="index.php" method="POST"> <div id="d1"><select id="selp" onchange="makeselect()"><option value="1">1</option><option value="2">2</option></select> </div> <div id="d2"> </div> </form> </b> 2) как видно в первом селекте стоит обработка события onchange="makeselect();" : здесь makeselect() - функция JavaScript которая формирует запрос к серверному php-скрипту, получает от него ответ и выводит его динамически. См. подробности далее: 3) В своем файле еще нужно прописать подключение файла JavaScript functions.js: Код: javascript <b> var xmlhttp = false; try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { xmlhttp = false; } } if (!xmlhttp && typeof XMLHttpRequest != 'undefined') { xmlhttp = new XMLHttpRequest(); } //на этом этапе мы создали экземпляр объекта XMLHttpRequest //собственно полезная функция function makeselect() { var val = document.getElementById("selp").value; //получаем значение в первом select var serverPage = "makeselect.php?v=" + val; //php-скрипт обработчика var obj = document.getElementById("d2"); //элемент, куда поместим результат xmlhttp.open("GET", serverPage); xmlhttp.onreadystatechange = function() { if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { obj.innerHTML = xmlhttp.responseText; //про innerHTML знаешь } } xmlhttp.send(null); } </b> 4) Осталось написать код скрипта обработки makeselect.php: Код: php <b> <?php //header("Content-type: text/html; charset=windows-1251"); - если будет нужен вывод русских букв $v = $_REQUEST['v']; $o = "<select id=\"selv\">"; // в зависимости от значения формируется выводимый select if ($v == 1) $o.= "<option value=\"1\">3</option><option value=\"2\">4</option></select>"; else $o.= "<option value=\"1\">5</option><option value=\"2\">6</option><option value=\"3\">7</option></select>"; echo $o; //"ответ сервера" ?> </b> 5) вот и все. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
|  | 
| 
 | 

| start [/forum/topic.php?fid=22&tablet=1&tid=1458899]: | 0ms | 
| get settings: | 10ms | 
| get forum list: | 11ms | 
| check forum access: | 4ms | 
| check topic access: | 4ms | 
| track hit: | 40ms | 
| get topic data: | 12ms | 
| get forum data: | 2ms | 
| get page messages: | 53ms | 
| get tp. blocked users: | 1ms | 
| others: | 13ms | 
| total: | 150ms | 

 
    | 0 / 0 | 
