Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Подгрузка ajax'oм в select

Сообщения:  [1-10]   [11-19] 

 
 автор: technic611   (10.04.2008 в 18:35)   письмо автору
 
   для: technic611   (10.04.2008 в 17:45)
 

Спецы по аяксу жду предложений как это все можно улучшить. Ориентир http://www.carone.ru/calc2.xml?tab=japan&id=103305&type=0#results

   
 
 автор: technic611   (10.04.2008 в 17:45)   письмо автору
 
   для: 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(
$modmysql_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(
$modmysql_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(
$modmysql_fetch_array($model_car))
{

echo
"<option  value=".$mod['name'].">".$mod['name']."";

}
echo 
"</select>";

}
?>

   
 
 автор: Antohins   (09.04.2008 в 10:30)   письмо автору
 
   для: technic611   (08.04.2008 в 07:23)
 

technic611

смотри мой пример выше

   
 
 автор: ReZiStOr   (08.04.2008 в 15:48)   письмо автору
 
   для: technic611   (08.04.2008 в 12:12)
 

Вот исходники это скрипт кредитного калькулятора работающего на данных с БД отклонение от подщета на маткаде 0.001

   
 
 автор: technic611   (08.04.2008 в 12:13)   письмо автору
 
   для: mihdan   (08.04.2008 в 10:42)
 

mihdan у вас тоже интересный пример, тоже пригодится в практике

   
 
 автор: technic611   (08.04.2008 в 12:12)   письмо автору
 
   для: ReZiStOr   (08.04.2008 в 10:03)
 

ReZiStOr конешно оставь исходники. очень интересно

   
 
 автор: mihdan   (08.04.2008 в 10:42)   письмо автору
 
   для: technic611   (08.04.2008 в 07:23)
 

http://tigir.com/javascript_select.htm

   
 
 автор: ReZiStOr   (08.04.2008 в 10:03)   письмо автору
 
   для: technic611   (08.04.2008 в 07:23)
 

http://mitsubishi-megacars.com.ua/admin/calc.php


посотрите сделано так как вы пишите если интересно могу кинуть исходники
реализовано на ajax

   
 
 автор: technic611   (08.04.2008 в 07:23)   письмо автору
 
   для: Antohins   (20.03.2008 в 15:12)
 

Antohins можно подробный рабочий приммер с комментами. С двумя списками проблем нет. как сделать три и более зависимых списков уже сложнее.
Очень хочу разобраться как это все работает. и не только мне это интересно я так полагаю.

   
 
 автор: Antohins   (20.03.2008 в 15:12)   письмо автору
 
   для: Antohins   (19.03.2008 в 10:00)
 

Так же существует дополнение для jquery, называемое interface

interface.eyecon.ro/

   

Сообщения:  [1-10]   [11-19] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования