Вам нужно будет выполнить запрос AJAX на основе стоимости выбранного курса.Ниже я предполагаю, что идентификатором выбранного курса является 'courseSelect':
$('#courseSelect').bind('change', function() {
var _t = $(this);
var val = _t.val();
$.ajax({
url: '/path/to/script.php',
data: 'c='+val,
success: function(html) {
$('#lessonSelect').html(html);
}
});
});
Стратегия, лежащая в основе этого, заключается в том, что ваш 'script.php' вызывается после выбора другой опции для курсов.'script.php' будет отправлен значением опции из браузера и может быть доступен как $_GET['c']
.Функция успеха будет вызвана после возврата запроса, а параметр html будет установлен равным всему, что вы выводите внутри script.php (через echo
, print
, операторы ошибок, выпущенные PHP, all output).
В этом смысле ваш script.php просто выберет список уроков из вашей базы данных для данного курса и выведет всю разметку <option value = 'Lesson Key'>Lesson</option>
.Поскольку выходные данные серверного сценария представляют собой разметку HTML, я назвал параметр для функции успеха html .
script.php
<?php
// Validate existence and proper type of input variable
// I am assuming here that the 'value' for the option for each course is an
// integer primary key for a table in your database
if(!isset($_GET['c']) || !is_numeric($_GET['c']))
exit();
$course = intval( $_GET['c'] );
// Select all of the lessons for the selected course from your database
// and output them as HTML Option elements.
?>