При смене значения одного select`a необходимо чтобы во втором менялись значения. На странице добавления задачи всё работает , но вот уже на странице редактирования тот же скрипт не работает. У страницы добавления ссылка - /task/add , у редактирования /task/edit/39(id редактируемой задачи).
<div class="form-group">
<label>Направление</label>
<div>
<select id="direction" class="form-control" name="direction">
<option value="">Выберите направление</option>
<?php if (is_array($directions)): ?>
<?php foreach ($directions as $direction): ?>
<option value="<?=$direction['ID']?>">
<?php echo $direction['NAME']; ?>
</option>
<?php endforeach; ?>
<?php endif; ?>
</select>
</div>
</div>
<div class="form-group">
<label>Модуль</label>
<div>
<select id="module" class="form-control" name="module">
<option value="">Выберите модуль</option>
<?php if (is_array($modules)): ?>
<?php foreach ($modules as $module): ?>
<option value="<?=$module['ID']?>">
<?php echo $module['NAME']; ?>
</option>
<?php endforeach; ?>
<?php endif; ?>
</select>
</div>
</div>
Файл JS:
$(document).on('change','#direction',function(){
let id_dir = document.getElementById("direction").value;
let modulesEl = $("#module");
$.getJSON("ajax", {id_dir}, function (data) {
console.log(data);
modulesEl.html('<option value="">Выберите модуль</option>');
$.each(data, function (index, item) {
$("#module").append('<option value ="'+item.ID+'">'+item.NAME+'</option>');
});
});
});
public function actionAjax(){
$action = 'S';
$params['GR'] = $_REQUEST['id_dir'];
$table = 'MODULE';
$token = $_SESSION['token'];
$params = json_encode($params, JSON_UNESCAPED_UNICODE);
$res = GroupCL::getGroups($action, $table, $token, $params);
ob_clean();
echo json_encode($res);
die();
}