ajax redirect без перезагрузки страницы bitrix

Как сделать перенаправление на страницу при нажатии на radiobutton без перезагрузки страницы? В фильтре есть чекбоксы, которые примерно это и выполняют: формирование checkbox:

<input
    type="checkbox"
    value="<? echo $ar["HTML_VALUE"] ?>"
    name="<? echo $ar["CONTROL_NAME"] ?>"
    id="<? echo $ar["CONTROL_ID"] ?>"
    data-id="<? echo $ar["CONTROL_ID"] ?>"
    data-name="<?=$arItem["NAME"]?>"
    data-value="<?=$ar["VALUE"]?>"
    <? echo $ar["CHECKED"]? 'checked="checked"': '' ?>
    oncl ick="smartFilter.click(this)"
    <? if ($ar["ELEMENT_COUNT"]== "0") echo "disabled"; ?>
/>

вызов ф-ции с передачей в нее параметров:

var smartFilter = new JCSmartFilter('<?echo CUtil::JSEscape($arParams["FORM_URL"])?>', '<?=$arParams["FILTER_VIEW_MODE"];?>', <?=CUtil::PhpToJSObject($arResult["JS_FILTER_PARAMS"])?>);

сама ф-ция js:

function JCSmartFilter(ajaxURL, viewMode, params) {
    this.ajaxURL = ajaxURL;
    this.form = null;
    this.timer = null;
    this.cacheKey = "";
    this.cache = [];
    this.viewMode = viewMode;

    this.ajaxMode = params.AJAX;

    if (params) {
        this.params = params;
    }

    if (params && params.SEF_SET_FILTER_URL) {
        this.bindUrlToButton("set_filter", params.SEF_SET_FILTER_URL);
        this.sef = true;
    }
    if (params && params.SEF_DEL_FILTER_URL) {
        this.bindUrlToButton("del_filter", params.SEF_DEL_FILTER_URL);
    }
}

У меня же radiobutton выводятся так:

<?
$SectionRes = CIBlockSection::GetList(array(), array('IBLOCK_ID'=>$arParams['IBLOCK_ID'], 'ACTIVE'=>'Y', 'SECTION_ID'=>$IBLOCK_SECTION_ID, '!ID' => $arParams['SECTION_ID'] ), false, array("SECTION_PAGE_URL", 'NAME', 'ID', 'IBLOCK_SECTION_ID', 'DEPTH_LEVEL'));

while($arSection = $SectionRes->GetNext()) { $d++;
    ?>
    <div class="v-section v-section-inner <?if($d==1):?>first<?endif;?>">
        <div class="category-radio">
            <label class="custom-category-radio">
                <input type="radio" class="item-category-radio" name="category-radio" value="<?=$arSection['SECTION_PAGE_URL']?>">
                <span><?=$arSection['NAME']?></span>
            </label>
        </div>
        <a href="<?=$arSection['SECTION_PAGE_URL']?>"><?=$arSection['NAME']?></a>
    </div>
    <?
}
?>

И в js пока вот так:

$('body').on('click', '.item-category-radio', (event)=>{
    var radio = $(event.currentTarget);
    window.location.href = radio.val();
});

Просто я не знаю как устроена реализация перенаправлений у битрикс без перезагрузки страницы, буду рад любым советам, с указанием на ф-ции, классы, ссылки на маны, может быть кто расщедрится на примеры))) Заранее спасибо!


Ответы (0 шт):