select на основании ранее выбранного значения

select на основании ранее выбранного значения

от Denis Sh -
Количество ответов: 0

Доброго времени суток. 

С помощью moodle form пытаюсь сделать анкету. В анкете студент вначале выбирает Направление, а затем профиль подготовки. Значения берутся из базы данных. Select  с профилем должен формироваться на основе выбранного направления, т.е.

SELECT rp.id, rp.name  FROM mdl_bsu_ref_profiles rp where specialityid = {$_GET['sclt']}


Стандартных способов для данной реализации я не нашел. 

Попробовать сделать с помощью jQuery 

function getValue() {
var select = document.getElementById("id_napravlenie");
var sclt = select.value;
$.ajax({
url: "programma.php", //url страницы с запросом к БД
type: "GET",
data: "sclt="+sclt,
success: function(response) { //Данные отправлены успешно
$('#id_prof').html(response); // вставляем вернувшиеся данные в select
},
error: function(response) { // Данные не отправлены
$('#result_form').html('Ошибка. Данные не отправлены.');
}
});
}
В интерфейсе всё работает (скрин выше), но при отправке формы элемент формы 

$mform->addElement('select', 'prof', 'Планируемая программа подготовки ',$prof);
"prof" вообще отсутствует в объекте, т.е. как только мы изменили содержимое select '#id_prof' с помощью jQuery, его данные не записываются в БД.

Код записи в БД:
if ($mform->is_cancelled()) {
redirect('/my/');
} else
if ($datanew = $mform->get_data()) {
if($datanew->id == 0) {
$DB->insert_record('asp_motivation', $datanew);
} else {
$DB->update_record('asp_motivation', $datanew);
}
$redirlink = "motivation.php";
redirect($redirlink, get_string('changessaved'), 0);
}
else {
$data = $DB->get_record_select('asp_motivation', "uid={$USER->id}");
$mform->set_data($data);
$mform->display();
}
Буду признателен если кто-то сможет подсказать или помочь.