Не могу написать ajax-запрос MVC Выскакивает ошибка Uncaught ReferenceError: loadElement is not defined
(Добавление)
class CatalogController {
public function actionIndex()
{
$city = array (
'Москва и Московская обл.' => array (
0 => 'Москва',
1 => 'Абрамцево',
),
'Санкт-Петербург и область' => array (
0 => 'Санкт-Петербург',
1 => 'Александровская',
),
);
$action = isset($_REQUEST['action']) ? $_REQUEST['action'] : '';
// возвращаем список городов
if ($action == 'getElem')
{
echo '<pre>' . htmlspecialchars(print_r($_POST, true)) . '</pre>';
if (isset($city[$_POST['category']]))
{
echo json_encode($city[$_POST['category']]); // возвраащем данные в JSON формате;
}
else
{
echo json_encode(array('Выберите область'));
}
exit;
}
// выводим пришедшие данные
if ($action == 'postResult')
{
echo '<pre>' . htmlspecialchars(print_r($_POST, true)) . '</pre>';
exit;
}
// Подключаем вид
require_once(ROOT . '/views/catalog/index.php');
return true;
}
}
(Добавление)
function loadElement(select)
{
var subCategorySelect = $('select[name="subcategory"]');
subCategorySelect.attr('disabled', 'disabled');
// послыаем AJAX запрос, который вернёт список городов для выбранной области
$.getJSON('/search/subcategory', {action:'getElem', category:select.value}, function(subCategoryList){
subCategorySelect.html(''); // очищаем список городов
// заполняем список городов новыми пришедшими данными
$.each(subCategoryList, function(i){
alert('!');
subCategorySelect.append('<option value="' + i + '">' + this + '</option>');
});
});
subCategorySelect.removeAttr('disabled');
}
(Добавление)
<form method ="post" action="#" class="well form-search col-lg-12 col-md-12">
Категория:
<select class="form-control span3 search-query col-lg-2" type="text" name="category" onchange="loadElement(this)" placeholder="Default input">
<option>--выбрать категорию--</option>
<?php
foreach ($city as $category => $cityList)
{
echo '<option value="' . $category . '">' . $category . '</option>' . "\n";
}
?>
</select><br>
Подкатегория:
<select name ="subcategory" class="form-control span3 search-query col-lg-2" disabled="disabled">
</select>
<input type="hidden" name="action" value="postResult" />
<button type="submit" name ="submit" class="btn btn-primary">Найти</button>
</div>
</form>
|