Просмотр поста

.
kantry
Hey guys! Finally I'm gonna change status!?
# erricss (05.06.2019 / 05:09)
я нажал на div, сработает ли php на этой же странице?
Сработает, только обработку xhr запроса надо вынести выше вывода html
пример (+/-)
// С БД йето не нада
$region = [
  4 => [
    'country_id' => '4',
    'name' => 'Афганистан',
    'mainland' => 'Азию',
  ],
  20 => [
    'country_id' => '20',
    'name' => 'Андорра',
    'mainland' => 'Европу',
  ],
  44 => [
    'country_id' => '44',
    'name' => 'Багамы',
    'mainland' => 'Америку',
  ],
];
if (!empty($xhr = filter_input(INPUT_SERVER, 'HTTP_X_REQUESTED_WITH', FILTER_DEFAULT))
    && strtolower($xhr) == 'xmlhttprequest'
    && $id = filter_input(INPUT_GET, 'id', FILTER_VALIDATE_INT)) {
    // Йето заменить на запрос к БД
    echo json_encode($region[$id]);
    exit;
}
echo '<html>
<head>
	<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
    <style>.some_class{padding: 7px;}#wrappep>.some_class{cursor: pointer;}.color-green{color: green;}</style>
</head>
<body>';

echo '<div id="wrappep" class="wrappep">';

foreach($region as $key => $val) {
    echo '<div class="some_class" data-id="' . $key . '">' . $val['name'] . '</div>'."\n";
}   
echo '</div>';

echo '<div class="some_class" data-id="no-id">No Click</div>'."\n";

echo '<script>

let orig = $("#wrappep").html(); 
$("#wrappep").on("click", ".some_class", function () {

  let id = $(this).attr("data-id");
  $.ajax({
    url: "?id="+id,
    success: function (result) {
       let region = $.parseJSON ( result );
       $(".some_class[data-id=" + region.country_id + "]").append("<span class=\'color-green\'> Вы угодили пальцем в " + region.mainland + "</span>").css("cursor", "default");
    }
  });
  $("#wrappep").html(orig); 
});
    
</script>';

echo '</body>
</html>';