javascript - noUiSlider -> 使用值作为表单输入

标签 javascript nouislider

我正在使用 noUiSlider,并且尝试使用 slider 值作为表单输入值(以工作表单发送它)。 我尝试过在堆栈溢出上找到的各种示例,但似乎没有任何效果。 这是我的 slider 脚本:

<script>
var slider = $('#slider');
noUiSlider.create(slider[0], {
    start: [2000],
    range: { min: 2000, max: 10000 },
  step: 500,
  tooltips: true,
  connect: [true, false],
});
</script>

也许其中有一个提示,说明为什么我发现的代码不起作用。因为要启动 slider ,我在某处找到了代码 var slider = $('#slider'); 对我有用,而不是 var slider = document.getElementById('slider'); 如大多数示例和文档所示。

我希望有一个非常简单的解决方案/解释,因为我实际上根本不了解 javascript...

最佳答案

noUIslider 不会创建 html 输入,因此我可以看到 2 个简单的选项。

1- 在表单中添加隐藏输入,该输入将包含 slider 值,并将在每次触发 slider 更改事件时更新。

<form>
 <div id="slider"></div>
 <input id="sliderValueInput" type="hidden" value=""> 
</form>

<script>
var slider = noUiSlider.create($("#slider")[0], {
    start: [2000],
    range: { min: 2000, max: 10000 },
  step: 500,
  tooltips: true,
  connect: [true, false],
});

//define initial hidden input value with slider value
$("#sliderValueInput").val(slider.get());

//update hidden input value on slider change
slider.on("change", function() {
    $("#sliderValueInput").val(slider.get());
});
</script>

https://codepen.io/anon/pen/mxXYBK

2- 例如,在提交时使用 AJAX 请求手动处理表单发布数据。如果需要可以提供演示...

关于javascript - noUiSlider -> 使用值作为表单输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49559831/

相关文章:

javascript - 将 handle 定位在轨迹栏上单击的位置

ecmascript-6 - noUiSlider ES6 导入

javascript - 具有两个数字输入的多个 slider

javascript - 使用 zurb Foundation 根据表单的其他元素启用/禁用提交按钮

javascript通过映射根据另一个对象更新对象键/值

JavaScript 获得 Audio.setSinkId 的权限

javascript - 如何在ajax httpresponse中返回django查询集

javascript - 在新选项卡中打开 Squarespace 幻灯片画廊

javascript - 遍历类并创建 noUisliders

javascript - noUiSlider 获取滑动事件调用者的 Id