Здравствуйте!
Недавно столкнулся с проблемой взаимодействия ajax и стандартными классами Bitrix (а именно CIBlockElement::GetProperty)
Задача следующая:
Имеется два селекта. Первый селект - категории продуктов. Второй - сами продукты. При выборе в первом селекте категории, нужно подгрузить ajax-ом продукты во втором селекте только принадлежащих выбранной категории. Сами инфоблоки связаны в Категории через "Привязка к элементам. Множественное."
Ajax запрос. Файл компонента news.list template.php
result_modifier.php в компоненте catalog.filter формирует два следующих селекта
selected_filter.php сам файл, который должен отрисовать второй селект, в зависимости от того, что придет ему в $_POST['id']
Проблема в том, что при вызове CIBlockElement::GetProperty приходит пустой ajax ответ и в <select name="arrFilter_pf[type]" id="sortFilter"> приходит пустота.
Если же просто сделать echo, то все прекрасно работает (строку закомментил специально).
Так же подключал прологи - не помогало.
Прошу у вас помощи!
Недавно столкнулся с проблемой взаимодействия ajax и стандартными классами Bitrix (а именно CIBlockElement::GetProperty)
Задача следующая:
Имеется два селекта. Первый селект - категории продуктов. Второй - сами продукты. При выборе в первом селекте категории, нужно подгрузить ajax-ом продукты во втором селекте только принадлежащих выбранной категории. Сами инфоблоки связаны в Категории через "Привязка к элементам. Множественное."
Ajax запрос. Файл компонента news.list template.php
| Код |
|---|
<sc ript type="text/javascript">
$("#brandFilter").live("change", function() {
$.post('select_filter.php', {'id': $(this).val()},
function(data) {
$("#sortFilter").html(data);
});
});
</sc ript> |
result_modifier.php в компоненте catalog.filter формирует два следующих селекта
| Код |
|---|
<select name="arrFilter_pf[brands]" id="brandFilter"> <option value="">(все)</option> <option value="132">Name1</option> <option value="12">Name2</option> ..... </select> <select name="arrFilter_pf[type]" id="sortFilter"> <option value="">(все)</option> <option value="1">Name1</option> <option value="2">Name2</option> .... </select> |
selected_filter.php сам файл, который должен отрисовать второй селект, в зависимости от того, что придет ему в $_POST['id']
| Код |
|---|
<?
//$dbRes = CIBlockElement::GetProperty(5, $_POST['id'], array("sort" => "desc"), array("CODE"=>"type"));
echo "<option value='test'>".$_POST['id']."</option>";
?> |
Проблема в том, что при вызове CIBlockElement::GetProperty приходит пустой ajax ответ и в <select name="arrFilter_pf[type]" id="sortFilter"> приходит пустота.
Если же просто сделать echo, то все прекрасно работает (строку закомментил специально).
Так же подключал прологи - не помогало.
Прошу у вас помощи!