есть 2 выпадающих списка. марки и модели
есть функции php где прописаны запросы к базе для каждого из элементов.
нужно сделать так чтобы текст в моделях менялся автоматом в зависимости от марки.
подскажите пожалуйста как это сделать ?
ps готов оплатить работу.
1. sancho - 19 Сентября, 2007 - 00:01:29 - перейти к сообщению
2. valenok - 19 Сентября, 2007 - 07:41:50 - перейти к сообщению
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- <?PHP
- # - - - - -
- // Здесь идёт ваш запрос
- // и возвращение результата
- // для примера я использовале следующий код
- // модели машин выводятся разделяясь точкой с запятой
- switch($_GET['model'])
- {
- case 'Mitzubishi' : echo "Lancer;GLI;Land Cruiser"; break;
- case 'Folzvagen' : echo "Saloon;F14;Off Road"; break;
- case 'Pego' : echo "404;505;606"; break;
- case 'Subaru' : echo "Green;Yellow;White"; break;
- case 'Honda' : echo "Accord;Song;Note"; break;
- }
- # - - - - -
- endif;
- ?>
- <select name='model' onchange='get(this.value)' id='model' style='width:100px;'>
- <option disabled='disabled' selected='selected'>Select</option>
- <option value='Mitzubishi' >Mitzubishi</option>
- <option value='Folzvagen'>Folzvagen</option>
- <option value='Pego'>Pego</option>
- <option value='Subaru'>Subaru</option>
- <option value='Honda'>Honda</option>
- </select>
- <select name='mark' id='mark' disabled='disabled' style='width:100px;'>
- <option disabled='disabled' selected='selected'>Select</option>
- </select>
- <input type='button' onclick='javascript:carprint();' value='Search'>
- <br>
- <span id='car'></span>
- <script language="javascript" type="text/javascript">
- var request = false;
- var flag = false;
- try {
- request = new XMLHttpRequest();
- } catch (trymicrosoft) {
- try {
- request = new ActiveXObject("Msxml2.XMLHTTP");
- } catch (othermicrosoft) {
- try {
- request = new ActiveXObject("Microsoft.XMLHTTP");
- } catch (failed) {
- request = false;
- }
- }
- }
- if (!request)
- alert("Error initializing XMLHttpRequest!");
- function get(url) {
- document.getElementById('car').innerHTML = '';
- request.open("GET","<?PHP echo $_SERVER['PHP_SELF'].'?model='; ?>" + url, true);
- request.onreadystatechange = updatePage;
- request.send(null);
- }
- function updatePage()
- {
- if (request.readyState == 4 && request.status == 200)
- {
- var q = new Array();
- q = request.responseText.split (";");
- while(document.getElementById('mark').item(0))
- if(document.all) document.getElementById('mark').options.remove(0);
- else document.getElementById('mark').options[0] = null;
- if(!flag){
- if(document.all) document.getElementById('model').options.remove(0);
- else document.getElementById('model').options[0] = null;
- flag = true;
- }
- for(i=0;i<q.length;i++)
- {
- var newElem = document.createElement("option") ;
- newElem.text = q[i];
- newElem.value = q[i];
- document.getElementById('mark').options.add(newElem)
- }
- document.getElementById('mark').disabled = false;
- }
- }
- function carprint()
- {
- val = document.getElementById('model').value + " " +document.getElementById('mark').value;
- document.getElementById('car').innerHTML = "You've selected " + val;
- }
- </script>
Пример работы смотреть можно тут
http://flower2[dot]info/phpsu/sancho.php