Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.09.2011, 00:49
Новичок на форуме
Отправить личное сообщение для Stud Посмотреть профиль Найти все сообщения от Stud
 
Регистрация: 13.09.2011
Сообщений: 3

Динамические селекты
Имеется связка из html+php+js. В html при загрузке создается первый селект, при выборе одного из пунктов, должен заполнится второй селект, а при выборе второго - должно заполнится поле. Подскажите чего не хватает? Или где почитать об этом!

main.html
<html>
<head>
<script type="text/javascript" src="ajax.js"></script>
<script type="text/javascript" src="spi_obj_out.js"></script>
</head>
<body>
<form NAME="vhod" ACTION="vhod.php">
СПИ:<BR>
<select id="spi_out" name="spi_out" onclick="getSpiList(this)">
<OPTION VALUE="no_spi">СПИ
</SELECT><BR>
Пультовый номер:<BR>
<td><select id="obj_out" name="obj_out" onchange="getObjList(this)">
<OPTION VALUE="no_obj" SELECTED>Объект               
</select><BR>
Данные объекта:<BR>
<INPUT TYPE="text" WIDTH="10" NAME="pn"><BR>
<INPUT TYPE="submit" VALUE="Запулить">
</form>
</body>
</html>


spi_obj_out.php
$do = $_GET['do']; 
$spi = $_GET['spi'];
$obj = $_GET['obj'];

if(isset($_GET['do']))
{
$spi = array();
$spi = array('Выбор СПИ','Ключ','Струна');
if(isset($_GET['spi']) and $do=='spi'){
for($i=0;$i<count($spi);$i++)
{echo "obj.options[obj.options.length] = new Option('".$spi[$i]."','".$i."');\n";}}}


if(isset($_GET['do']))
{
$obj = array();
if ($spi=='Ключ') {$obj = array('Объект','+205','+239','-598','-45656');}
if ($spi=='Струна') {$obj = array('Объект','+205','+239','-598','-45656');}
if(isset($_GET['obj']) and $do=='obj'){
for($i=0;$i<count($obj);$i++){
echo "obj.options[obj.options.length] = new Option('".$obj[$i]."','".$i."');\n";}}}


spi_obj_out.js
var ajax = new Array();

function getSpiList(sel)
{
	var countryCode = sel.options[sel.selectedIndex].value;
	document.getElementById('spi_out').options.length = 0;	// Empty city select box
	if(countryCode.length>0){
		var index = ajax.length;
		ajax[index] = new sack();
		
		ajax[index].requestFile = 'spi_obj_out.php?do=spi&spi=go';	// Specifying which file to get
		ajax[index].onCompletion = function(){ createSpi(index) };	// Specify function that will be executed after file has been found
		ajax[index].runAJAX();		// Execute AJAX function
	}
}

function createSpi(index)
{
	var obj = document.getElementById('spi_out');
	eval(ajax[index].response);	// Executing the response from Ajax as Javascript code	
}

function getObjList(sel)
{
	var category = sel.options[sel.selectedIndex].value;
	document.getElementById('obj_out').options.length = 0;	// Empty city select box
	if(category.length>0){
		var index = ajax.length;
		ajax[index] = new sack();
		
		ajax[index].requestFile = 'spi_obj_out.php?do=obj&obj=go';	// Specifying which file to get
		ajax[index].onCompletion = function(){ createObj(index) };	// Specify function that will be executed after file has been found
		ajax[index].runAJAX();		// Execute AJAX function
	}
}
function createObj(index)
{
	var obj = document.getElementById('obj_out');
	eval(ajax[index].response);	// Executing the response from Ajax as Javascript code	
}
Ответить с цитированием
  #2 (permalink)  
Старый 13.09.2011, 10:23
Аватар для yashka525
Mr. Jacob
Отправить личное сообщение для yashka525 Посмотреть профиль Найти все сообщения от yashka525
 
Регистрация: 20.01.2011
Сообщений: 194

Сообщение от Stud
spi_obj_out.js
Похоже что Вы где-то просто код скопировали... Попробуйте сами написать, вот линк в помощь.
Ответить с цитированием
  #3 (permalink)  
Старый 13.09.2011, 18:14
Новичок на форуме
Отправить личное сообщение для Stud Посмотреть профиль Найти все сообщения от Stud
 
Регистрация: 13.09.2011
Сообщений: 3

Спасибо! Действительно оказалось проще сделать все с нуля, для еще и в идеологию аякса вкурил.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамические формы. ака Выпадающие списки :) sochinec Общие вопросы Javascript 5 18.04.2012 17:19
Как заставить jQuery считать динамические объекты append'a "на лету"? walabyn jQuery 2 08.09.2011 12:07
Динамические option в select lurii Элементы интерфейса 10 14.01.2011 11:23
Динамические окна PepeL Ваши сайты и скрипты 5 29.03.2010 01:41
Динамические html элементы sky Элементы интерфейса 2 07.03.2010 11:58