Чтобы отправить AJAX-запрос на сервер в 1С Битрикс, можно использовать функцию BX.ajax, которая предоставляется фреймворком. Например, можно использовать следующий код, чтобы отправить запрос после изменения первого select:
BX.ready(function(){
BX.bind(BX('marka_avto'), 'change', function() {
var marka_avto = BX('marka_avto').value;
BX.ajax({
url: '/ajax/get_models.php', // путь к файлу, который будет обрабатывать запрос
method: 'POST',
data: {'marka_avto': marka_avto}, // данные, которые будут отправлены на сервер
dataType: 'json', // ожидаемый тип данных в ответе
onsuccess: function(data) {
// здесь обрабатываем полученный ответ
var modelsSelect = BX('models');
modelsSelect.innerHTML = ''; // очищаем select
data.forEach(function(model) {
var option = new Option(model.NAME, model.ID);
modelsSelect.add(option); // добавляем option в select
});
}
});
});
});
Здесь BX('marka_avto').value получает значение выбранного option в первом select. Далее отправляется AJAX-запрос на сервер, в котором передается выбранное значение как параметр marka_avto. В ответ на запрос сервер должен вернуть массив объектов в формате JSON, каждый из которых содержит ID и NAME для второго select. После получения ответа select с ID "models" заполняется новыми option в соответствии с данными, полученными из ответа.
В файле "/ajax/get_models.php" необходимо написать код, который будет обрабатывать запрос и возвращать нужный ответ. Например, можно использовать следующий код:
<?php
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
$marka_avto = intval($_POST['marka_avto']);
// запрос на получение моделей для выбранной марки авто
$arFilter = array('IBLOCK_ID' => 13, 'ACTIVE'=>"Y", 'SECTION_ID'=>$marka_avto);
$arSelect = array('IBLOCK_ID', 'ID', 'NAME','CODE');
$rsSect = CIBlockSection::GetList(Array("SORT"=>"ASC"), $arFilter, false, $arSelect);
$result = array();
while ($arSect = $rsSect->GetNext()) {
$result[] = array('ID' => $arSect['ID'], 'NAME' => $arSect['NAME']);
}
echo json_encode($result);
?>
Здесь после получения значения параметра marka_avto выполняется запрос на получение моделей из базы данных и формируется массив $result с данными для заполнения второго select. После этого массив преобразуется в JSON и отправляется в ответ на AJAX-запрос.