如何在此 PHP 页面中用简单的 HTML select 替换此价格滑块? select 选项可以传递 2 个值(最低价和最高价)吗?

How can I replace this price slider with a simple HTML select in this PHP page? Can the select option pass 2 values (min and max price)?

我是 PHP 的新手,我绝对不喜欢前端(我更像是一个 Java 后端人员)并且我有以下问题(我认为对于拥有一些 PHP\frontend 背景)。

我正在开发一个非常老式的 PHP Web 应用程序。

在一个页面中,我有一个包含价格选择器的表单,用户可以通过该表单为搜索到的产品选择价格范围(类似于 从 50 美元到 100 美元)。使用 select 或使用选择范围内的最小王子和最大王子。对于滑块,它使用此 Java 脚本库:https://refreshless.com/nouislider/

这是我搜索页面 PHP 代码中的价格范围滑块:

<div class="nouislider-wrapper">
    <div class="nouislider" data-min="0" data-max="<?php echo $max_price; ?>" data-start="<?php echo "[".$price_min.",".$price_max."]"; ?>" data-step="10" data-direction="<?php echo RTL_DIR; ?>" data-input="price_range"></div>
    <?php echo $texts['PRICE']." / ".$texts['NIGHT']; ?> : <?php echo CURRENCY_SIGN; ?> <input type="text" name="price_range" class="slider-target" id="price_range" value="" readonly="readonly">
</div>

好的,根据我的理解,只需将最低价格放入 $price_min 并将最高价格放入 $price_max.

我需要删除之前的滑块并将其替换为一个简单的下拉菜单,类似于简单的 HTML select 标签,类似这样:

<select>
    <option value="XXX">50$-100$</option>
    <option value="YYY">100$-150$</option>
    <option value="ZZZ">150$-200$</option>
    <option value="WWW">200$+</option>
</select> 

我的问题是:当用户 select 来自此 select 选项卡的语音时,我如何传递 2 个值(例如 50 和 100)?是否可以将 2 个值($price_min$price_max)传递到 选项中 select 标签的元素?

如果可能的话,我不希望更改 logici(传递其他值),因为它是一个非常遗留的应用程序,处理使用这些值的后端的更改可能很复杂,所以如果我能做到的话在 select 中更好。

你怎么看?

您不能在 selecttag 中分别传递两个值,但您可以这样做

<select name="range">
    <option value="<?php echo $price_min.'-'.$max_price; ?>"><?php echo $price_min.'$-'.$max_price.'$'; ?></option>
</select>

现在你必须在php方面做一些事情

<?php
// suppose you select 50$-100$ you get 50-100 in $range 
$range = $_POST['range'];
$values = explode("-",$range);
$min_value = $values[0]
$max_value = $values[1] 
?>