|
|
|
|
|
для: technic611
(10.04.2008 в 17:45)
| | Спецы по аяксу жду предложений как это все можно улучшить. Ориентир http://www.carone.ru/calc2.xml?tab=japan&id=103305&type=0#results | |
|
|
|
|
|
|
|
для: Antohins
(09.04.2008 в 10:30)
| | всем спасибо. разобрался сам.
вот что налобал.
ajax.js
function createHttpRequest() {
var httpRequest;
var browser = navigator.appName;
if (browser == "Microsoft Internet Explorer") {
httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
} else {
httpRequest = new XMLHttpRequest();
}
return httpRequest;
}
function sendRequest(file, _resultId, getRequestProc) {
resultId = _resultId;
document.getElementById(resultId).innerHTML = 'Подождите, идет загрузка...';
httpRequest.open('get', file);
httpRequest.onreadystatechange = getRequestProc;
httpRequest.send(null);
}
function sendSearchRequest() {
sendRequest('hello.php?q=' + document.getElementById('make').value, 'result', getRequest);
// Очищаем третий список.
//Здесь много вариантов как его можно убрать.
//я сделал так
// удаляем третий список с содержимым
document.getElementById('result2').innerHTML = '';
// добавим новый список
var sloy=document.getElementById('result2');
var newInput=document.createElement('select');
sloy.appendChild(newInput);
newInput.options[0] = new Option("не выбрана", "str0");
// и сделаем его неактивным
newInput.disabled = true;
}
function sendSearchRequest_2() {
sendRequest('hello2.php?qm=' + document.getElementById('model').value, 'result2', getRequest);
}
function getRequest() {
if (httpRequest.readyState == 4) {
document.getElementById(resultId).innerHTML = httpRequest.responseText;
}
}
var httpRequest = createHttpRequest();
var resultId = '';
|
форма calc.php
<html>
<head>
<title>Привет, мир AJAX'a</title>
<script language="JavaScript" src="ajax.js" type="text/javascript"></script>
</head>
<body>
<?
// Подключаемся к базе
include"config.php";
// Выводим первый список
echo"<select id='make' style='FONT-SIZE: 9pt; FONT-FAMILY: Verdana'
onchange=\"javascript: sendSearchRequest();\"
name=make><option value='' >не выбрана</option>";
$query = "SELECT * FROM spisok_car ORDER BY marka";
$model_car = mysql_query($query);
while($mod= mysql_fetch_array($model_car))
{
echo"<option value='".$mod['id_spisok_car."'>".$mod['marka']."</option>";
}
echo"</select>";
?>
<p id="result">Здесь будет результат запроса выбора из первого списка</p>
<p id="result2">Здесь будет результат запроса выбора из второго списка </p>
|
файл hello.php
<?
include"config.php";
if($_GET['q']=="") {
echo "<select style='FONT-SIZE: 9pt; FONT-FAMILY: Verdana' name='model' >
<option value='0'>не выбрана</option></select>";
}else
{
$query = "SELECT * FROM model_car WHERE id_spisok_car=".$_GET['q']." ORDER BY model";
$model_car = mysql_query($query);
echo "<select id='model' style='FONT-SIZE: 9pt; FONT-FAMILY: Verdana' name='model' onchange=\"javascript: sendSearchRequest_2();\">
<option value='0'>не выбрана";
while($mod= mysql_fetch_array($model_car))
{
echo"<option value=".$mod['id'].">".$mod['model']."";
}
echo "</select>";
}
?>
|
файл hello2.php
<?
include"config.php";
if($_GET['qm']=="") {
echo "<select style='FONT-SIZE: 9pt; FONT-FAMILY: Verdana' name='compl' >
<option value='0'>не выбрана</option></select>";
}else
{
$query = "SELECT * FROM cat_complectations WHERE model_id=".$_GET['qm']."";
echo $query;
$model_car = mysql_query($query);
echo "<select id='compl' style='FONT-SIZE: 9pt; FONT-FAMILY: Verdana' name='compl' >
<option value='0'>не выбрана";
while($mod= mysql_fetch_array($model_car))
{
echo"<option value=".$mod['name'].">".$mod['name']."";
}
echo "</select>";
}
?>
|
| |
|
|
|
|
|
|
|
для: technic611
(08.04.2008 в 07:23)
| | technic611
смотри мой пример выше | |
|
|
|
|
|
|
|
для: technic611
(08.04.2008 в 12:12)
| | Вот исходники это скрипт кредитного калькулятора работающего на данных с БД отклонение от подщета на маткаде 0.001 | |
|
|
|
|
|
|
|
для: mihdan
(08.04.2008 в 10:42)
| | mihdan у вас тоже интересный пример, тоже пригодится в практике | |
|
|
|
|
|
|
|
для: ReZiStOr
(08.04.2008 в 10:03)
| | ReZiStOr конешно оставь исходники. очень интересно | |
|
|
|
|
|
|
|
|
для: technic611
(08.04.2008 в 07:23)
| | http://mitsubishi-megacars.com.ua/admin/calc.php
посотрите сделано так как вы пишите если интересно могу кинуть исходники
реализовано на ajax | |
|
|
|
|
|
|
|
для: Antohins
(20.03.2008 в 15:12)
| | Antohins можно подробный рабочий приммер с комментами. С двумя списками проблем нет. как сделать три и более зависимых списков уже сложнее.
Очень хочу разобраться как это все работает. и не только мне это интересно я так полагаю. | |
|
|
|
|
|
|
|
для: Antohins
(19.03.2008 в 10:00)
| | Так же существует дополнение для jquery, называемое interface
interface.eyecon.ro/ | |
|
|
|
|