@ZZiliST
Изучаю JS, CSS, HTML, PHP

Как как при загрузке страницы выполнить ajax запрос один раз?

Суть в следующем. Есть ajax запрос который висит событием onClick на кнопках. Ajax сам по себе фильтрует элементы на странице.

выглядит это примерно так

<?$varOnclick = "BX.ajax.insertToNode('$yearRequest', 'comp_".$arParams["AJAX_ID"]."');  return false;";?>

<div class="year-number <?if($arResult['FILTER_PARAMS']['YEAR'] == $arValue['ID']):?>activated<?endif;?>" id="year-<?=$arValue['ID']?>" onclick="<?=$varOnclick ?>"><?=$arValue['VALUE']?></div> // id у одной из кнопок будет year-30


нужно при загрузке страницы имитировать нажатие на одну из кнопок.

checkFirstLoad = false;

if(!checkFirstLoad) {
oneClick();
}

function oneClick(){
	
	  $( "#year-30" ).click(); // имитируем нажатие кнопкой мишы на блок
	
	checkFirstLoad = true;
}


естественно ничего не получается так как после выполнения ajax переменная checkFirstLoad снова становится false и код выполняется снова. Подскажите пожалуйста, как победить?
  • Вопрос задан
  • 1318 просмотров
Решения вопроса 1
TerNik
@TerNik
Может быть так сделать?
if (!document.body.hasAttribute('alreadyClicked')) {
  document.body.setAttribute('alreadyClicked', 'true');
  $("#year-30").click();
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы