【问题标题】:noUiSlider -> use value as form inputnoUiSlider -> 使用值作为表单输入
【发布时间】:2018-03-30 01:05:27
【问题描述】:

我正在使用 noUiSlider 并尝试将滑块值用作表单输入值(以工作表单形式发送)。 我尝试了各种可以在堆栈溢出时找到的示例,但似乎没有任何效果。 这是我的滑块脚本:

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

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

我会很感激一个非常简单的解决方案/解释,因为我实际上根本不知道 javascript...

【问题讨论】:

    标签: javascript nouislider


    【解决方案1】:

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

    1- 在表单中添加一个隐藏输入,该输入将包含滑块值,并且每次触发滑块更改事件时都会更新。

    <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 请求。如有需要可提供演示...

    【讨论】:

    • 感谢您的回答,但这似乎对我不起作用。我已将 type="hidden" 更改为 "text" 以查看值是否显示,但事实并非如此。快把我逼疯了!
    • 如果您想要一个个性化的工作演示,请提供您的代码
    • 那太好了!基本上是:codepen.io/anon/pen/RMQddN
    • 哦,抱歉,我以前从未使用过 codepen,而且我认为您只需要查看我的 html 中的内容以供参考。然后我将导入文件并添加新评论。
    猜你喜欢
    • 2023-03-27
    • 2017-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多