Reputation: 33
I want get value range slider each min/max value to PHP. I don't know how and don't know why. I am using the jQueryUI range slider: https://jqueryui.com/slider/#range
<form method="POST" action="value.php">
<input type="text" id="amount" name="slide-value" /><br/>
<div id="slider-range" style="width: 500px;"></div>
<input type="submit" name="submit" />
</form>
<?php
value = (float)$_POST['slide-value'];
echo $value;
?>
</div>
$(function() {
$("#slider-range").slider({
range: true,
min: 0,
max: 500,
values: [0, 300],
slide: function(event, ui) {
var value1 = $("#slider-range").slider("values", 0);
var value2 = $("#slider-range").slider("values", 1);
$("#amount").val("$" + ui.values[0] + " - $" + ui.values[1]);
}
});
$("#amount").val("$" + $("#slider-range").slider("values", 0) + " - $" + $("#slider-range").slider("values", 1));
});
Upvotes: 2
Views: 569
Reputation: 337580
To separate the min/max values create two new fields in your form and update them separately when the slider moves. Note that I made the fields visible in this example for clarity, but they can be changed to hidden
if required. Also note that I made a couple of changes to improve performance of the code, such as caching the jQuery objects. Try this:
jQuery($ => {
let $amount = $('#amount'),
$min = $('#min'),
$max = $('#max');
let $slider = $("#slider-range").slider({
range: true,
min: 0,
max: 500,
values: [0, 300],
slide: function(event, ui) {
$amount.val(`값${ui.values[0]} - $${ui.values[1]}`);
$min.val(ui.values[0]);
$max.val(ui.values[1]);
}
});
$amount.val("값" + $slider.slider("values", 0) + " - $" + $slider.slider("values", 1));
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.css" />
<form method="POST" action="value.php">
<input type="text" id="amount" name="slide-value" /><br/>
<input type="text" id="min" value="0" />
<input type="text" id="max" value="300" />
<div id="slider-range" style="width: 500px;"></div>
<input type="submit" name="submit" />
</form>
Upvotes: 1