Задать вопрос
@AndreyKuz
Интеграция сайта с 1с

Как вставить переменную из js в template.php и обновить страницу?

Компонент news.list.
В компоненте есть HTML select
<select id="js_select-sity"> <!--const selectSity-->
		<option value="all">Все</option>
		<option value="sochi">Сочи</option>
		<option value="krasnodar">Краснодар</option>
		<option value="stav">Ставрополь</option>
		<option value="armavir">Армавир</option>
	</select>

Далее JS
const selectSity = document.querySelector('#js_select-sity');
	selectSity.addEventListener('change', () => {
	  const gorod = select.value;
	});

Далее PHP
$sity = ''; //Сюда должна попадать переменная из js (const gorod)
            //при выборе какого-либо города и обновлять страницу с запуском foreach
 foreach ($arResult['ITEMS'] as $arItem):
 	if ($arItem['PROPERTIES']['COUNTRY_MAP']['VALUE'] == $sity):

Если делаю что-то неправильно, подскажите порядок действий?
  • Вопрос задан
  • 79 просмотров
Подписаться 1 Средний Комментировать
Решения вопроса 1
@koder_1
Битрикс программист
У Вас не ясная формулировка вопроса.
Можете ли сформулировать задачу без терминов программирования и кода, а просто как клиент. Хочу чтоб нажали такую кнопку и произошло то-то.
Задача
При выборе в списке select города показывать новости только из этого города.
Решение
1) либо в обработчик change в javascript вставить ajax, который будет выводить компонент новостей по фильтру из выбранного города.
2) либо в обработчик change добавить редирект на страницу с get-параметром городом и перед вызовом компонента новостей задать фильтр по городу.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Вам надо добавить селекту имя и как-то сабмитить форму с селектом (на выбор есть GET и POST). Соответственно, в скрипте значение выбранного города будет в одном из значений в массиве $_GET или в массиве $_POST .

P.S. Правильно пишется "city". Учите английский, в будущем пригодится.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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