Как мне получить значение из span и присвоить его переменной php?

Как я могу принять значение:

<span name="MinPrice" class="irs-from">0</span>
<span name="MaxPrice" class="irs-to">0</span>

И назначьте их переменным PHP:

$MinPrice
$MaxPrice

Это мой код JQuery:

   var base_html =
    '<span class="irs">' +
    '<span class="irs-line" tabindex="-1"><span class="irs-line-left"></span><span class="irs-line-mid"></span><span class="irs-line-right"></span></span>' +
    '<span class="irs-min">0</span><span class="irs-max">1</span>' +
    '<span name="MinPrice" class="irs-from">0</span><span name="MaxPrice" class="irs-to">0</span><span class="irs-single">0</span>' +
    '</span>' +
    '<span class="irs-grid"></span>' +
    '<span class="irs-bar"></span>';

Я использую форму:

<form action="<?php echo languageURL(0, ''.$g['url'].'products.html'); ?>" method="get">

<div class="wrapper" style=" padding:20px;">
  <div class="range-slider">
      <input type="text" class="js-range-slider" value="" />
  </div>
</div>

    <input type="submit" class="btn-primary goo" value="Търсене" />
</form>

2 ответа

Решение

Вы можете использовать AJAX, чтобы присвоить свои значения переменным PHP. Вы можете отправить данные формы, как это в jQuery:

function sendData()
{
    $.ajax({
        type: "POST",
        url: 'ajax.php',
        data: {$("#formID").serialize(), MinPrice: $('#minSpan span').html(), MaxPrice: $('#maxSpan span').html()},
        dataType: "html",
        success: function(html)
        {
            // do something ...
        }
    });
}

В этом случае данные отправляются через POST, и вашей форме требуется идентификатор (например, id = "formID").

Обновление: теперь также отправляются значения диапазонов, здесь с идентификаторами id = "minSpan" и id="maxSpan". В ajax.php вы можете прочитать значения POST, попробуйте его, чтобы увидеть все доступные значения:

var_dump($_POST);

Как уже упоминалось в комментариях

  1. Span не имеет значений, которые они имеют innerHTML.
  2. Вам нужно будет сделать это через ajax(если вы хотите сделать это с помощью jQuery).

Теперь, чтобы получить значение из переменной base_html, вам сначала нужно будет проанализировать строку HTML, а затем извлечь значения из нее, т.е.

var min = $.parseHTML( base_html).find(".irs-from").text();
var max = $.parseHTML( base_html).find(".irs-to").text();
$.ajax({url: "value_set.php?min="+min+"max="+max, success: function(result){
   //do whatever you like to do here
  }});
Другие вопросы по тегам