Связанные динамичные списки Select

Статус
Закрыто для дальнейших ответов.

KDES70

Well-Known Member
Регистрация
16.02.2012
Сообщения
73
Доброго времени суток!!!
Нужна помощь переделать скрипт который состоит из двух связанных списков [страна]->[город]
мне нужно получить [категория]->[подкатегория] притом значения <option> подставлялись из БД
в БД есть вот такие таблицы:
Код:
CREATE TABLE `categories` (
  `id` int(11) NOT NULL auto_increment,
  `title` varchar(255) default NULL,
  `meta_d` varchar(255) NOT NULL,
  `meta_k` varchar(255) NOT NULL,
  `text` text NOT NULL,
  PRIMARY KEY  (`id`)



CREATE TABLE `sub_categories` (
  `id` int(4) NOT NULL auto_increment,
  `cat_id` int(4) NOT NULL,
  `meta_k` varchar(255) NOT NULL,
  `meta_d` varchar(255) NOT NULL,
  `title` varchar(255) NOT NULL,
  PRIMARY KEY  (`id`)
вот нашел вот такой скрипт
начал переделывать и застопорился на одном моменте очень нужна помощь сам справится не смогу опыта очень мало.
вот структура формы:

Код:
<form action="" method="post">
<table>
<tr>
  <td>Страна: </td>
  <td><select id="cat" name="cat" onchange="getCatList(this)">
	  
   <option value="">Выберите страну</option>
  <? $result = mysql_query("SELECT title,id FROM categories",$db);  
			if (!$result)
			{
	echo "<p>Запрос на выборку данных из базы не прошел. <br> <strong>Код ошибки:</strong></p>";
	exit(mysql_error());
			}
	if (mysql_num_rows($result) > 0)
{
	$myrow = mysql_fetch_array($result);
	do
{
	printf ("<option value='%s'>%s</option>",$myrow["id"],$myrow["title"]);[/left][/size][/font][/color]
[color=#000000][font=Verdana][size=3][left]}
	while ($myrow = mysql_fetch_array($result));
}
	?>
	</select>
  </td>
</tr>
<tr>
  <td>Город: </td>
  <td><select id="subcat" name="subcat">

  </select>
  </td>
</tr>
</table>
</form>

Здесь я вывел первый список ,второй должен подставляться из внешнего файла.
После в файле <script type="text/javascript" src="chained.js"></script>
подставил свои значения (правда не уверен что все сделал правильно)

Код:
var ajax = new Array();
function getCatList(sel)
{
var catCode = sel.options[sel.selectedIndex].value;
document.getElementById('subcat').options.length = 0; // Empty city select box
if(catCode.length>0){
  var index = ajax.length;
  ajax[index] = new sack();

  ajax[index].requestFile = 'getcities.php?catCode='+catCode; // Specifying which file to get
  ajax[index].onCompletion = function(){ createCities(index) }; // Specify function that will be executed after file has been found
  ajax[index].runAJAX();  // Execute AJAX function
}
}
function createCities(index)
{
var obj = document.getElementById('subcat');
eval(ajax[index].response); // Executing the response from Ajax as Javascript code
}

потом это все как я понимаю идет вот сюда <script type="text/javascript" src="ajax.js"></script>
и теперь следующий файл который и вызвал у меня всю проблему это getcities.php
не знаю как вывести из БД подкатегории , умоляю напишите как это зделать!!!! или если есть решение моей задачи другим способом покажите плиз!!!! Уже второй день бьюсь над этим все что выдал мне google это самый наипростейший способ
getcities.php выглядит он так:
Код:
<?php
if(isset($_GET['catCode'])){  ..это пришло из [color=#333333]chained.js[/color]
	
	  switch($_GET['catCode']){

	  case "ru":
	  echo "obj.options[obj.options.length] = new Option('Москва','1');\n";
	  echo "obj.options[obj.options.length] = new Option('Санкт-Петербург','2');\n";
	  echo "obj.options[obj.options.length] = new Option('Волгоград','3');\n";
	  echo "obj.options[obj.options.length] = new Option('Владивосток','4');\n";

	  break;
	  case "ua":

	  echo "obj.options[obj.options.length] = new Option('Киев','11');\n";
	  echo "obj.options[obj.options.length] = new Option('Одесса','12');\n";
	  echo "obj.options[obj.options.length] = new Option('Львов','13');\n";

	  break;
	  case "us":

	  echo "obj.options[obj.options.length] = new Option('Нью-Йорк','21');\n";
	  echo "obj.options[obj.options.length] = new Option('Чикаго','22');\n";
	  echo "obj.options[obj.options.length] = new Option('Вашингтон','23');\n";

	  break;
	  }
	  }  
?>
 

tigra60

Спасатель
Регистрация
10.12.2009
Сообщения
1 990
как вывести из БД подкатегории
Имеется в виду вывести подкатегории из нужной вам категории? Тогда с помощью WHERE:
Например, если номер нужной подкатегории хранится в переменной $subcategory, то запрос может быть таким:
Код:
'SELECT * FROM sub_categories WHERE cat_id='.$subcategory
Не вникал сильно в ваш код ввиду цейтнота, но файл getcities.php может быть таким:
Код:
<?php
// получаем и обрабатываем код (id) категории
$subcategory = isset(_GET['catCode'])? intval(_GET['catCode']): 0;
// получаем данные о нужной подкатегории из БД
$result = mysql_query('SELECT * FROM sub_categories WHERE cat_id='.$subcategory)
or die(mysql_error());
while($row = mysql_fetch_array($result)) 
// выводим каждую подкатегорию нужной категории в нужном формате
echo 'obj.options[obj.options.length] = new Option('.$row['title'].','.$row['id'].");\n";
?>
Еще раз повторю, код не проверял, возможны ошибки.

Не получится, пишите.
 

KDES70

Well-Known Member
Регистрация
16.02.2012
Сообщения
73
спасибо что откликнулись!!!

попробовал ваш код, редактор показал ошибку вот в этой строке

$subcategory = isset(_GET['catCode'])? intval(_GET['catCode']): 0;
 

tigra60

Спасатель
Регистрация
10.12.2009
Сообщения
1 990
Ну, попробуйте тогда написать просто:
Код:
$subcategory = intval(_GET['catCode']);
Главное, чтобы смысл был понятен, каким образом получаем данные для второго селектора.
 

KDES70

Well-Known Member
Регистрация
16.02.2012
Сообщения
73
блин все равно ругается)))
вот посмотрите:Ashampoo_Snap_2012.04.18_17h19m10s_001_.png
 

brevis

Well-Known Member
Регистрация
10.08.2010
Сообщения
452
жалко что не все так просто скрипт не заработал(((
Да там как раз все очень даже просто:
Код:
<?php
/* dump DB
CREATE TABLE IF NOT EXISTS `categories` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `title` varchar(255) DEFAULT NULL,
  `meta_d` varchar(255) NOT NULL,
  `meta_k` varchar(255) NOT NULL,
  `text` text NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;
INSERT INTO `categories` (`id`, `title`, `meta_d`, `meta_k`, `text`) VALUES
(1, 'Category 1', '', '', ''),
(2, 'Category 2', '', '', ''),
(3, 'Category 3', '', '', '');
CREATE TABLE IF NOT EXISTS `sub_categories` (
  `id` int(4) NOT NULL AUTO_INCREMENT,
  `cat_id` int(4) NOT NULL,
  `meta_k` varchar(255) NOT NULL,
  `meta_d` varchar(255) NOT NULL,
  `title` varchar(255) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=10 ;
INSERT INTO `sub_categories` (`id`, `cat_id`, `meta_k`, `meta_d`, `title`) VALUES
(1, 1, '', '', 'SubCategory 1'),
(2, 1, '', '', 'SubCategory 2'),
(3, 1, '', '', 'SubCategory 3'),
(4, 2, '', '', 'SubCategory 4'),
(5, 2, '', '', 'SubCategory 5'),
(6, 2, '', '', 'SubCategory 6'),
(7, 3, '', '', 'SubCategory 7'),
(8, 3, '', '', 'SubCategory 8'),
(9, 3, '', '', 'SubCategory 9');
*/

define('PROTOCOL', 'http' . ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') ? 's' : ''));
define('URL', PROTOCOL.'://'.$_SERVER['HTTP_HOST'].str_replace(basename($_SERVER['SCRIPT_NAME']),"",$_SERVER['SCRIPT_NAME']));
define('PATH', $_SERVER['DOCUMENT_ROOT'].str_replace(basename($_SERVER['SCRIPT_NAME']),"",$_SERVER['SCRIPT_NAME']));
header("Content-Type: text/html; charset=utf-8");  
mysql_connect('localhost', 'root', '');
mysql_select_db('test_db');
$action = isset($_GET['a']) ? strtolower($_GET['a']) : '';
if ( !in_array($action, array('index', 'ajax_getsubcategies')) ) $action = 'index';
call_user_func('act_'.$action);
/*-----------------------------------------------------------*/
function act_index()
{
tpl_head();

?>
<table><tr>
<td><b>Categories</b>:<br />
<select id="cat" onchange="changeSubcategories()" style="width: 300px;">
<option value="">-- Select --</option>
<?php
$res = mysql_query("SELECT * FROM categories ORDER BY title ASC");
$nr = abs(@mysql_num_rows($res));
if ($nr > 0)
{
  for ($i=0;$i<$nr;$i++)
  {
   $r = mysql_fetch_array($res, 1);
   echo '<option value="'.$r['id'].'">'.htmlspecialchars($r['title']).'</option>';
  }
}
?>
</select>
</td><td>
<b>SubCategories</b>:<br />
<select id="subcat" disabled="disabled" style="width: 300px;"></select> <img src="http://govoryat.com.ua/img/loader.gif" id="loader" style="visibility: hidden;" />
</td>
</tr></table>
<?php

tpl_footer();
}
/*-----------------------------------------------------------*/
function act_ajax_getsubcategies()
{
sleep(1); //for loader.gif test :)

$cat = isset($_GET['cat']) ? abs($_GET['cat']) : 0;
if ($cat == 0) die('#error#');

$res = mysql_query("SELECT * FROM sub_categories WHERE cat_id=".$cat." ORDER BY title ASC");
$nr = abs(@mysql_num_rows($res));
if ($nr > 0)
{
  echo 'var _obj = document.getElementById("subcat");';
  for ($i=0;$i<$nr;$i++)
  {
   $r = mysql_fetch_array($res, 1);
   echo '_obj.options[_obj.options.length] = new Option("'.htmlspecialchars($r['title']).'", "'.$r['id'].'");';
  }
}
else
{
  die('#error#');
}

}
/*===========================================================*/
function tpl_head()
{
?><html>
<head>
<title>Categories</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="http://yandex.st/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript">
function changeSubcategories()
{
var cat = $('#cat').val();
if (cat == '')
{
  $('#subcat option').remove();
  $('#subcat').attr('disabled', 'disabled');
  return;
}

$('#cat, #subcat').attr('disabled', 'disabled');
$('#loader').css('visibility', 'visible');

$.ajax({
	type: "GET",
	url: '<?php echo URL; ?>?a=ajax_getsubcategies',
	data: "cat="+encodeURIComponent(cat),
	success: function(msg)
  {
	 if ( msg == '#error#' )
	 {
	  alert('No has subcategories');
	$('#subcat option').remove();
	$('#cat').removeAttr('disabled');
	 }
	 else
	 {
	$('#subcat option').remove();
	eval(msg);
	$('#cat, #subcat').removeAttr('disabled');
	 }
  
   $('#loader').css('visibility', 'hidden');
	}
  });
}
</script>
</head>
<body><?php
}
/*-----------------------------------------------------------*/
function tpl_footer()
{
?>
</body>
</html><?php
}
/*-----------------------------------------------------------*/
и демо.
 

KDES70

Well-Known Member
Регистрация
16.02.2012
Сообщения
73
огромное СПАСИБО!!!! :) :) :)
 

osadach@gmail.com

New Member
Регистрация
21.04.2012
Сообщения
6
[member=brevis],Здравствуйте. Извиняюсь что вклиниваюсь. Искал что-то подобное. Поставил Вашу форму(только для выбора города) Регион в базе видит а город ни в какую. Перепробовал кучу вариантов :blink: если есть возможность поправить.
Код:
<select id="cat" onchange="changeSubcategories()" >
<option value="">Выберите регион</option>
<?php
$res = mysql_query("SELECT * FROM jb_region_ ");
$nr = abs(@mysql_num_rows($res));
if ($nr > 0)
{
  for ($i=0;$i<$nr;$i++)
  {
   $r = mysql_fetch_array($res, 1);
   echo '<option value="'.$r['id_region'].'">'.htmlspecialchars($r['region_name_ru']).'</option>';
  }
}
?>
</select>
</td><td>
<b>Город</b>:<br />
<select <?=$location?> id="subcat" disabled="disabled" style="width: 200px;"></select> <img src="http://osolig.ru/images/load.gif" id="loader" style="visibility: hidden;" />
</td>
</tr></table>
<?php
tpl_footer();
}
/*-----------------------------------------------------------*/
function act_ajax_getsubcategies()
{
sleep(1); //for loader.gif test :)
$cat = isset($_GET['cat']) ? abs($_GET['cat']) : 0;
if ($cat == 0) die('#error#');
[color=#ff0000]$res = mysql_query("SELECT * FROM jb_city_ WHERE id =".$cat." ORDER BY city_name ASC");
$nr = abs(@mysql_num_rows($res));[/color]
[color=#008000]$res = mysql_query("SELECT * FROM jb_city_ WHERE id ORDER BY city_name ASC");
$nr = abs(@mysql_num_rows($res));[/color]
[color=#000080]$res = mysql_query("SELECT * FROM jb_city_ ");
$nr = abs(@mysql_num_rows($res));[/color]
[color=#800000]$res = mysql_query("SELECT * FROM jb_city_ WHERE  city_name");
$nr = abs(@mysql_num_rows($res));[/color]
[color=#000000]$res = mysql_query("SELECT * FROM jb_city_ WHERE id");
$nr = abs(@mysql_num_rows($res));[/color]
if ($nr > 0)
{
  echo 'var _obj = document.getElementById("subcat");';
  for ($i=0;$i<$nr;$i++)
  {
   $r = mysql_fetch_array($res, 1);
   echo '_obj.options[_obj.options.length] = new Option("'.htmlspecialchars($r['city_name']).'", "'.$r['id'].'");';
  }
}
else
{
  die('#error#');
}
в базе РЕГИОН jb_region_ (id_region), ГОРОД jb_city_ (id)

http://osolig.ru/b3/core/sms.php
 

brevis

Well-Known Member
Регистрация
10.08.2010
Сообщения
452
[member=Вячеслав Осадач], т.к. ваш скрипт имеет имя sms.php -- то вам нужно прописать это имя в строке
Код:
url: '<?php echo URL; ?>?a=ajax_getsubcategies',
т.е. у вас должно быть
url: '<?php echo URL; ?>sms.php?a=ajax_getsubcategies',
 

brevis

Well-Known Member
Регистрация
10.08.2010
Сообщения
452
URL должен быть такой: http://osolig.ru/b3/core/city.php?a=ajax_getsubcategies

Но это еще не все:

1. У вас вместе с ajax-ответом отдается список городов (в 3 колонки -- Москва, Калининград, Саратов...) -- так не должно быть. Ajax-метод должен возвращать только JavaScript-код или "#error#":
Код:
var _obj = document.getElementById("subcat");_obj.options[_obj.options.length] = new Option ("Адыгейск", "220");_obj.options[_obj.options.length] = new Option ("Майкоп (Адыгея)", "221");
2. Ваше всплывающее окно вызывается очень своеобразным способом, из-за которого, мне кажется, не обрабатывается JavaScript, и таким образом когда вы выбираете регион вообще ничего не происходит.
 

osadach@gmail.com

New Member
Регистрация
21.04.2012
Сообщения
6
список городов отдельно. пытаюсь сделать ссылки из базы. пока без успешно. с базой не дружу.если есть возможность пример можно :)
 

brevis

Well-Known Member
Регистрация
10.08.2010
Сообщения
452
Вам осталось сделать 2 действия:

1. Заменить Ajax-url на _http://osolig.ru/b3/core/city.php?a=ajax_getsubcategies

2. Сделать так, что-бы по этому Ajax-url отдавался только JavaScript-код.
Т.е. по адресу http://osolig.ru/b3/core/city.php?a=ajax_getsubcategies&cat=7 (и ему подобных) должно отдаваться только
Код:
var _obj = document.getElementById("subcat");_obj.options[_obj.options.length] = new Option ("Астрахань", "346");_obj.options[_obj.options.length] = new Option ("Ахтубинск", "347");_obj.options[_obj.options.length] = new Option ("Верхний Баскунчак", "348");_obj.options[_obj.options.length] = new Option ("Володарский", "349");_obj.options[_obj.options.length] = new Option ("Енотаевка", "350");_obj.options[_obj.options.length] = new Option ("Икряное", "351");_obj.options[_obj.options.length] = new Option ("Камызяк", "352");_obj.options[_obj.options.length] = new Option ("Капустин Яр", "353");_obj.options[_obj.options.length] = new Option ("Красный Яр (Астраханская обл.)", "354");_obj.options[_obj.options.length] = new Option ("Лиман", "355");_obj.options[_obj.options.length] = new Option ("Началово", "356");_obj.options[_obj.options.length] = new Option ("Харабали", "357");_obj.options[_obj.options.length] = new Option ("Черный Яр", "358");
а у вас отдается
Код:
<h2></h2>


      <div id="b2a" >
  <b class="b1a"></b><b class="b2a"></b><b class="b3a"></b><b class="b4a"></b><b class="b5a"></b>
  <div  class="ab" style="padding:20px">
  <div align=right style="position:absolute; right:10px; top:5px"><a title="Закрыть" href="javascript:CloseInfo();"><img alt="Закрыть" src="http://osolig.ru/b3/images/drop.gif"></a></div><table width="100%" border="0">
  <tr>
    <td><br /><a href=\''  ? id=15753">МОСКВА</a></td>
    <td><br /><a href="http://num.smsonline.ru/?7375" >КАЛИНИНГРАД</a></td>

    <td><br /><a href="http://num.smsonline.ru/?7375" >САРАТОВ</a></td>
  </tr>
  <tr>
    <td><br /><a href="http://num.smsonline.ru/?7375" >САНКТ-ПЕТЕРБУРГ</a></td>
    <td> <br /><a href="http://num.smsonline.ru/?7375" >КРАСНОДАР</a></td>
    <td> <br /><a href="http://num.smsonline.ru/?7375" >СОЧИ</a></td>

  </tr>
  <tr>
    <td> <br /><a href="http://num.smsonline.ru/?7375" >БАРНАУЛ</a></td>
    <td> <br /><a href="http://num.smsonline.ru/?7375" >КРАСНОЯРСК</a></td>
    <td> <br /><a href="http://num.smsonline.ru/?7375" >ТОЛЬЯТТИ</a></td>
  </tr>

  <tr>
    <td> <br /><a href="http://num.smsonline.ru/?7375" >ВОЛГОГРАД</a></td>
    <td> <br /><a href="http://num.smsonline.ru/?7375" >НИЖНИЙ-НОВГОРОД</a></td>
    <td> <br /><a href="http://num.smsonline.ru/?7375" >ТУЛА</a></td>
  </tr>
  <tr>

    <td> <br /><a href="http://num.smsonline.ru/?7375" >ВОРОНЕЖ</a></td>
    <td> <br /><a href="http://num.smsonline.ru/?7375" >НОВОСИБИРСК</a></td>
    <td> <br /><a href="http://num.smsonline.ru/?7375" >ТЮМЕНЬ</a></td>
  </tr>
  <tr>
    <td> <br /><a href="http://num.smsonline.ru/?7375" >ЕКАТЕРИНБУРГ</a></td>

    <td> <br /><a href="http://num.smsonline.ru/?7375" >ОМСК</a></td>
    <td> <br /><a href="http://num.smsonline.ru/?7375" >УЛЬЯНОВСК</a></td>
  </tr>
  <tr>
    <td> <br /><a href="http://num.smsonline.ru/?7375" >ИЖЕВСК</a></td>
    <td> <br /><a href="http://num.smsonline.ru/?7375" >ПЕРМЬ</a></td>

    <td> <br /><a href="http://num.smsonline.ru/?7375" >УФА</a></td>
  </tr>
  <tr>
    <td> <br /><a href="http://num.smsonline.ru/?7375" >ИРКУТСК</a></td>
    <td> <br /><a href="http://num.smsonline.ru/?7375" >РОСТОВ-НА-ДОНУ</a></td>
    <td> <br /><a href="http://num.smsonline.ru/?7375" >ЧЕЛЯБИНСК</a></td>

  </tr>
  <tr>
    <td> <br /><a href="http://num.smsonline.ru/?7375" >КАЗАНЬ</a></td>
    <td> <br /><a href="http://num.smsonline.ru/?7375" >САМАРА</a></td>
    <td> <br /><a href="http://num.smsonline.ru/?7375" >ЯРОСЛАВЛЬ</a></td>
  </tr>

</table>
var _obj = document.getElementById("subcat");_obj.options[_obj.options.length] = new Option ("Астрахань", "346");_obj.options[_obj.options.length] = new Option ("Ахтубинск", "347");_obj.options[_obj.options.length] = new Option ("Верхний Баскунчак", "348");_obj.options[_obj.options.length] = new Option ("Володарский", "349");_obj.options[_obj.options.length] = new Option ("Енотаевка", "350");_obj.options[_obj.options.length] = new Option ("Икряное", "351");_obj.options[_obj.options.length] = new Option ("Камызяк", "352");_obj.options[_obj.options.length] = new Option ("Капустин Яр", "353");_obj.options[_obj.options.length] = new Option ("Красный Яр (Астраханская обл.)", "354");_obj.options[_obj.options.length] = new Option ("Лиман", "355");_obj.options[_obj.options.length] = new Option ("Началово", "356");_obj.options[_obj.options.length] = new Option ("Харабали", "357");_obj.options[_obj.options.length] = new Option ("Черный Яр", "358");</div>  </div>  <b class="b5a"></b><b class="b4a"></b><b class="b3a"></b><b class="b2a"></b><b class="b1a"></b>
</div>
Или если не хотите менять -- то можно изменить JS-функцию changeSubcategories() таким образом, что бы она "выхватывала" из ответа только JS-код.
 

osadach@gmail.com

New Member
Регистрация
21.04.2012
Сообщения
6
Ваше всплывающее окно вызывается очень своеобразным способом, из-за которого, мне кажется, не обрабатывается JavaScript, и таким образом когда вы выбираете регион вообще ничего не происходит.
Вы правы.
Код:
function city(value)
{
var query = document.getElementById("query");
var smalldiv = document.getElementById("smalldiv");
var req=new JsHttpRequest();
req.onreadystatechange=function() {
  if(req.readyState==4)
  {  
   document.getElementById('img_query').style.display='none';
   smalldiv.style.display = (smalldiv.style.display == "block") ? "none" : "block" ;
   smalldiv.innerHTML = req.responseText;
  }
  else
  {
   document.getElementById('query').style.display='block';
   document.getElementById('img_query').style.display='block';
   return false;
  }
}
req.open(null,sHttpReqb+"/core/city.php",true); req.send({id_category1:value});
}
что нужно чтоб работала :blush:
 

brevis

Well-Known Member
Регистрация
10.08.2010
Сообщения
452
Поробуйте для начала:

1. Перенести функцию changeSubcategories() из http://osolig.ru/b3/core/city.php в тот же файл, что и функция city() из вашего сообщения выше. Вот эту:
Код:
<script type="text/javascript" src="http://yandex.st/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript">
function changeSubcategories()
{
var cat = $('#cat').val();
if (cat == '')
{
  $('#subcat option').remove();
  $('#subcat').attr('disabled', 'disabled');
  return;
}

$('#cat, #subcat').attr('disabled', 'disabled');
$('#loader').css('visibility', 'visible');

$.ajax({
        type: "GET",
        url: '_http://osolig.ru/b3/core/city.php?a=ajax_getsubcategies',

        data: "cat="+encodeURIComponent(cat),
        success: function(msg)
  {
         if ( msg == '#error#' )
         {
          alert('No has subcategories');
        $('#subcat option').remove();
        $('#cat').removeAttr('disabled');
         }
         else
         {
        $('#subcat option').remove();
        eval(msg);
        $('#cat, #subcat').removeAttr('disabled');
         }
  }

  });
}
</script>
2. Ну и то, что я писал выше -- что бы по запросу _http://osolig.ru/b3/core/city.php?a=ajax_getsubcategies&cat=7 не отдавалось ничего лищнего (только JavaScript).
 
Статус
Закрыто для дальнейших ответов.
Верх Низ