I want to use range slider for query in mysql/php to obtain a list. But I don't understand how to pass a variable from jQuery to a php file. I read this page and others, but still don't get the result. This is the code for jQuery that I want to pass, what should I do to pass the variable?
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>jQuery UI Slider - Range slider</title>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css" />
<script>
$(function() {
$( "#slider-range1" ).slider({
range: true,
min: 0,
max: 500,
values: [ 75, 300 ],
slide: function( event, ui ) {
$( "#amount1" ).val( "$" + ui.values[ 0 ] + " - $" + ui.values[ 1 ] );
}
});
$( "#amount1" ).val( "$" + $( "#slider-range1" ).slider( "values", 0 ) +
" - $" + $( "#slider-range1" ).slider( "values", 1 ) );
$( "#slider-range2" ).slider({
range: true,
min: 0,
max: 500,
values: [ 75, 300 ],
slide: function( event, ui ) {
$( "#amount2" ).val( "$" + ui.values[ 0 ] + " - $" + ui.values[ 1 ] );
}
});
$( "#amount2" ).val( "$" + $( "#slider-range2" ).slider( "values", 0 ) +
" - $" + $( "#slider-range2" ).slider( "values", 1 ) );
$.ajax("file.php", {variable1:/*variable value*/, variable2:/*variable value*/, variable3:/*variable value*/, variable4:/*variable value*/}, /* insert ajax result*/);
});
</script>
</head>
<body>
<p>
<label for="amount1">Price range:</label>
<input type="text" id="amount1" style="border: 0; color: #f6931f; font-weight: bold;" />
</p>
<div id="slider-range1"></div>
<p>
<label for="amount2">Price range:</label>
<input type="text" id="amount2" style="border: 0; color: #f6931f; font-weight: bold;" />
</p>
<div id="slider-range2"></div>
</body>
</html>
if you want to submit the value everytime it change you can try my code, but you have a bad idea if you do that.. its better you have a button to tell your server that the client is done picking the price.
i just update you code i hope it help.
<script>
$(function() {
var sliderChangeCallback = function(){
var amount1 = $( "#amount1" ).val(), amount2 = $( "#amount2" ).val()
$.ajax({
url : "your url",
data : {
"amount1" : amount1,
"amount2" : amount1
},
error : function(){
"call back error"
}
})
};
$( "#slider-range1" ).slider({
range: true,
min: 0,
max: 500,
values: [ 75, 300 ],
slide: function( event, ui ) {
$( "#amount1" ).val( "$" + ui.values[ 0 ] + " - $" + ui.values[ 1 ] );
sliderChangeCallback();
}
});
$( "#amount1" ).val( "$" + $( "#slider-range1" ).slider( "values", 0 ) +
" - $" + $( "#slider-range1" ).slider( "values", 1 ) );
$( "#slider-range2" ).slider({
range: true,
min: 0,
max: 500,
values: [ 75, 300 ],
slide: function( event, ui ) {
$( "#amount2" ).val( "$" + ui.values[ 0 ] + " - $" + ui.values[ 1 ] );
sliderChangeCallback();
}
});
$( "#amount2" ).val( "$" + $( "#slider-range2" ).slider( "values", 0 ) +
" - $" + $( "#slider-range2" ).slider( "values", 1 ) );
});
</script>