@ligisayan

Можно ли получить значение data атрибутов в переменную php?

Всем привет!
Есть календарь на wordpress который выводится на определенных страницах в виде месяца разбитого по дням в ячейках.

Мне необходимо сделать так, чтобы при наведении мыши на каждый из дней вычислялось значение относительно заданного и числовой результат передавался на сервер, чтобы вытащить определенный контент из базы по этому параметру.

Первый этап с вычислением результата я сделал путем передачи data атрибута в js.

<div id="trekdays" data-date="<?php echo $days[0]->day; ?>"></div>

$(".Calendar days").mouseover(function() {
   var trekdays = $("#trekdays").data('date');
   var x = new Date(trekdays);
   var diff = Math.floor((y.getTime() - x.getTime()) / 86400000);
   $("#trek_excerpt").attr('data-excerpt', diff);
});


Проблема у меня возникает на обратном этапе передачи параметров из js в php
<p id="trek_excerpt" data-excerpt="">
<?php if( get_field('trek_excerpt_day_1') ): the_field('trek_excerpt_day_1'); endif; ?>
</p>


В атрибут data-excerpt результат записывается и обновляется - ок, но мне нужно, чтобы менялась переменная дней на trek_excerpt_day_1, trek_excerpt_day_2 , trek_excerpt_day_3 и т.д.

Можно ли записать значения data атрибутов в переменную php?

Пробовал передавать результат в ajax, но непонятно какой прописывать путь - шаблона страницы? И если таких страниц несколько

$.ajax ({
    url: "page-sample-page.php",
    method: "POST",
    data: { val : diff }
});


А, если в php вот так записываю, то записываются только исходный html элемента
$str = '<p id="trek_excerpt" data-excerpt="">Data</p>';
   echo $str;
   $doc = new DOMDocument();
   $d=$doc->loadHtml($str);
   $a = $doc->getElementById('trek_excerpt');
   var_dump($a->getAttribute('data-excerpt'));
  • Вопрос задан
  • 1805 просмотров
Решения вопроса 1
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
и числовой результат передавался на сервер, чтобы вытащить определенный контент из базы по этому параметру.
тут вопрос - что вы будете делать с контентом из базы?

Если это отдельная страница - то вам нужна форма, поле куда вы будете записывать полученное значение и при субмите формы уже обрабатывайте на сервере полученное значение.

Если оно должно динамически изменять контент на текущей странице - аякс запрос на скрипт(у вас он вроде верный, не хватает обработчика ответа), скрипт уже формирует данные и отдает в ответ на аякс запрос по вкусу - кусок хтмл или json данные, смотрите с чем вам удобнее будет оперировать.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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