在Nouislider中只显示一张幻灯片

时间:2016-07-25 12:13:50

标签: javascript uislider nouislider

我在我的开发网站上使用Nouislider,以便让用户从范围中选择他的薪水。 关键是我希望用户选择他的工资而不是范围(例如2500€) 我无法在我的nouislider中设法只显示一个选择器而不是双选择器(范围选择器)。 另外,我的数据是欧元(欧元)而且我没有设法使我的选项工作(€符号和数千个空格)

这是我的代码:

<?php if($_SERVER['REQUEST_METHOD'] == 'POST' &&     $_POST['submit']=="Send"){
echo "Your selected no:". $_POST['number'];
}?>    

<div class="example">
<div id="html5"></div>
<form action="/" method="post">
<select id="input-select" name="number"></select>
<input type="submit" name="submit" value="Envoyer" />
</form>

<script>
var select = document.getElementById('input-select');

// Append the option elements
for ( var i = 1000; i <= 8000; i=i+1 ){

var option = document.createElement("option");
    option.text = i;
    option.value = i;

select.appendChild(option);
}
document.getElementById('input-number')
</script>           
<script>
var html5Slider = document.getElementById('html5');

noUiSlider.create(html5Slider, {
start: [ 1000, 1000 ],
connect: true,
range: {
    'min': 1000,
      'max': 8000
},
format: wNumb({
decimals: 0,
thousand: '',
postfix: ' €'
})
});



</script>           
<script>
var inputNumber = document.getElementById('input-number');

html5Slider.noUiSlider.on('update', function( values, handle ) {

var value = values[handle];

if ( handle ) {
inputNumber.value = value;
else {
    select.value = Math.round(value);
}
});

select.addEventListener('change', function(){
html5Slider.noUiSlider.set([this.value, null]);
});

inputNumber.addEventListener('change', function(){
html5Slider.noUiSlider.set([null, this.value]);
});
</script>       
</div>

感谢您的帮助。

祝你好运。

1 个答案:

答案 0 :(得分:0)

首先:不要执行此操作:

 for ( var i = 1000; i <= 8000; i=i+1 ){
     var option = document.createElement("option");

创建7000个选项元素会很慢。

要创建一个句柄而不是两个句柄,请使用start: 1000代替start: [ 1000, 1000 ]