Показать сообщение отдельно
  #1 (permalink)  
Старый 23.04.2015, 15:20
Новичок на форуме
Отправить личное сообщение для skdon Посмотреть профиль Найти все сообщения от skdon
 
Регистрация: 23.04.2015
Сообщений: 3

Нужна помощь getJSON
День добрый.
Ребята, нужна помощь. В общем есть код:
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js"></script>
<select name="models" onchange="loadCar('models','series')">
<option>Модель</option>
<?php
require_once('catalog/view/theme/default/template/konstructor/cars.php');
foreach ($arParams['models'] as $mid => $model)
	echo '<option value="' . $mid . '">' . $model . '</option>' . "\n";
?>
</select>
<select name="series" onchange="loadCar('series','modif');"><option>Серия</option></select>
<select name="modif"><option>Модификация</option></select>


<script>
function loadCar(parent,child){
	parentSel = $('select[name="'+parent+'"] option:selected');
	childSel = $('select[name="'+child+'"]');
	switch (parent){
		case 'models':
			$('select[name="series"]').html('<option>Серия</option>');
			$('select[name="modif"]').html('<option>Модификация</option>');
		break;
		case 'series':
			$('select[name="modif"]').html('<option>Модификация</option>');
		break;
	}

	if (isInt(parentSel.val())){
		$.getJSON('catalog/view/theme/default/template/konstructor/ajax.php', {
			listName:child,
			id:parentSel.val()
		}, function(Items){
			$.each(Items, function(i){
				childSel.append('<option value="'+i+'">' + this.value + '</option>');
			});
		});
	}
}
function isInt(n){ return n % 1 === 0; }
</script>

В общем если расположить форму на странице типа: javascript.ru/forum/newthread.php все работает как надо.
А если страница типа:javascript.ru/forum/newthread.php?do=newthread&f=26
то скрипт не работает. ajax.php данные возвращает (видно в инспекторе.) Данные приходят в виде: series{"2":{"value":"C-\u043a\u043b\u0430\u0441\u0441","parent":1},"3":{" value":"E-\u043a\u043b\u0430\u0441\u0441","parent":1}}
Подскажите, пожалуйста, как можно исправить?
Ответить с цитированием