powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Изменение содержания <select>
9 сообщений из 9, страница 1 из 1
Изменение содержания <select>
    #34254029
Oruc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имеется 2 selectbox'a,в обоих значения берутся из БД,хочу ,чтобы в зависимости от значений первого selectbox'a значения второго изменялись,но все это БЕЗ ПЕРЕЗАГРУЗКИ страницы.Скрипт пишется на РНР,слышал такое возможно на AJAX,но нигде не могу найти этой фичи

Модератор: Правила форума читали?
Перенесено из форума PHP&PERL
...
Рейтинг: 0 / 0
Изменение содержания <select>
    #34254084
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
...
Рейтинг: 0 / 0
Изменение содержания <select>
    #34258260
Oruc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну вообще-то в ссылке ни слова о селектах...праально,можно подстроить,но я пока в ajax'е слабоват,и поэтому была бы лучше статья непосредственно по моей теме...конечно ,если не затруднит))
...
Рейтинг: 0 / 0
Изменение содержания <select>
    #34258457
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Orucну вообще-то в ссылке ни слова о селектах...ну ты тёмный http://developer.mozilla.org/en/docs/DOM:element.innerHTML
...
Рейтинг: 0 / 0
Изменение содержания <select>
    #34258571
Фотография Black
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Изменение содержания <select>
    #34277303
Oruc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
maXmo
ты реально сам понял ,что за ссылКУ мне дал ??я спрашиваю о динамическом изменении данных без заполнения массивов,просто загрузка селекта динамически из базы
Black
насчет remove...i'm not about zat
...
Рейтинг: 0 / 0
Изменение содержания <select>
    #34277973
Фотография Black
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OrucBlack
насчет remove...i'm not about zat
Как раз об этом, если Вы повторно обновляете <select>, сначало надо удалить старые <option>

Динамический Select
...
Рейтинг: 0 / 0
Изменение содержания <select>
    #34278869
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Orucя спрашиваю о динамическом изменении данных без заполнения массивов,просто загрузка селекта динамически из базыэто оно и есть: шлёп – и всё поменялось.
...
Рейтинг: 0 / 0
Изменение содержания <select>
    #34281460
Oruc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
этот шлёп еще сделать надо)))
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) вот и все.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Изменение содержания <select>
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]