首页 文章

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

提问于
浏览
0

我是PHP的新手,我绝对不是前端(我更像是一个Java后端人)我有以下问题(我认为对于有一些PHP \前端背景的人来说非常简单) .

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

在页面中,我有一个包含价格滑块的表单,用户可以通过该表单选择搜索产品的价格范围(类似于 from 50$ to 100$ ) . 使用选择器,使用选择范围内的最小王子和最大王子 . 对于滑块,它使用此JavaScript库: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>

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

如果有可能我首先不要更改logici(传递其他值),因为它是一个非常遗留的应用程序,它可能很复杂处理使用这些值的后端的更改,所以如果我可以在选择它做得更好 .

你怎么看待这件事?

1 回答

  • 1

    你不能在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] 
    ?>
    

相关问题