douhu4692 2018-05-11 11:07 采纳率: 100%
浏览 44

获取一个javascript变量并将其放在php脚本中

I am working on a website on which I try to implement a price slider. I am working with Perch CMS and Creative Tim Material Kit.

From the Creative Tim Kit I have the following template:

// With help from Javascript the price-left and price-right values get displayed on the website:


$(document).ready(function() {

  var slider2 = document.getElementById('sliderRefine');

  noUiSlider.create(slider2, {
    start: [101, 790],
    connect: true,
    range: {
      'min': [30],
      'max': [900]
    }
  });

  var limitFieldMin = document.getElementById('price-left');
  var limitFieldMax = document.getElementById('price-right');

  slider2.noUiSlider.on('update', function(values, handle) {
    if (handle) {
      limitFieldMax.innerHTML = $('#price-right').data('currency') + Math.round(values[handle]);
    } else {
      limitFieldMin.innerHTML = $('#price-left').data('currency') + Math.round(values[handle]);
    }
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/noUiSlider/11.1.0/nouislider.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/noUiSlider/11.1.0/nouislider.min.css" />
<div class="card-body card-refine">
  <span id="price-left" class="price-left pull-left" data-currency="€"></span>
  <span id="price-right" class="price-right pull-right" data-currency="€"></span>
  <div class="clearfix"></div>
  <div id="sliderRefine" class="slider slider-rose noUi-target noUi-ltr noUi-horizontal"></div>
</div>

Now with PHP I am getting a $min_price and $max_price.

// ---------- PRICES
if(perch_get('price')) {
    $price = perch_get('price');
    // if numeric, we have one number (?price=minPrice)
    if(is_numeric($price)) {
        // filter for greater or equal to
        $filters[] = [
            'filter' => 'price',
            'match' => 'gte',
            'value' => $price,
        ];
        PerchSystem::set_var('selected_price', $price);
    } elseif(substr_count($price, '-') == 1) {
        // we have a signle hyphen (hopefully ?price=minPrice-maxPrice)
        // split
        $prices = explode('-', $price);
        // check both are numeric
        if(is_numeric($prices[0]) && is_numeric($prices[1])) {
            $min_price = $prices[0];
            $max_price = $prices[1];
            // filter for items between min and max inclusively
            $filters[] = [
                'filter' => 'price',
                'match' => 'eqbetween',
                'value' => $min_price . ',' . $max_price,
            ];
            PerchSystem::set_var('selected_price', $min_price . '-' . $max_price);
        }
    }
}

So now I am trying to get the 'var limitFieldMin' and 'var limitFieldMax' from the Javascript script to be placed in $min_price and $max_price in the PHP.

Could anyone teach me how I can do this?

</div>
  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥20 有关区间dp的问题求解
    • ¥15 多电路系统共用电源的串扰问题
    • ¥15 slam rangenet++配置
    • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
    • ¥15 对于相关问题的求解与代码
    • ¥15 ubuntu子系统密码忘记
    • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
    • ¥15 保护模式-系统加载-段寄存器
    • ¥15 电脑桌面设定一个区域禁止鼠标操作
    • ¥15 求NPF226060磁芯的详细资料