我在我的开发网站上使用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>
感谢您的帮助。
祝你好运。
答案 0 :(得分:0)
首先:不要执行此操作:
for ( var i = 1000; i <= 8000; i=i+1 ){
var option = document.createElement("option");
创建7000个选项元素会很慢。
要创建一个句柄而不是两个句柄,请使用start: 1000
代替start: [ 1000, 1000 ]
。