javascript - jQuery UI slider (从文本输入设置)

标签 javascript jquery jquery-ui

我使用 jQuery UI slider 来设置文本框中的值。我希望这可以双向工作,因此,如果在文本框中放置一个值,我希望 slider 移动到相关位置。

不过,我不确定最佳解决方案。

我有以下标记:

<label for="amount-depoist">Deposit Amount (&pound;):</label>
<input type="text" id="amount-deposit" >
<div id="slider-deposit"></div>

以及以下 jQuery:

jQuery( document ).ready(function( $ ) {
            $( "#slider-deposit" ).slider({
                range: "min",
                value: 100,
                min: 0.1,
                max: 0.7,
                step: 1,        

                slide: function( event, ui ) {
                     $( "#amount-deposit" ).val(Number(ui.value).toFixed(2));
                    totalPayableFunc();
                    monthlyPaymentsFunc();
                }
            });
            $( "#amount-deposit" ).val(Number($( "#slider-deposit" ).slider( "value" )).toFixed(2));
            totalPayableFunc();
            monthlyPaymentsFunc();
        }); 

当前 slider 上的slide: function 某些函数被称为“做数学”,并且在amount-deposit 文本输入字段中设置一个值。我希望此文本输入字段可编辑,以便在 keyup 上 slider 将滑动到相关位置。我不确定如何实现这一目标,有人可以提供一些建议吗?

我这里有一个 JS fiddle :https://jsfiddle.net/liamrfell/nzzb8nad/1/

最佳答案

从概念上讲,您已经知道需要做什么。 在keyup事件中,您需要获取输入框中的值,并将该值放入 slider 中。您要查找的函数是 $( "#slider").slider( "option", "value", valueVariable )

HTML:

<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
  <script src="//code.jquery.com/jquery-1.10.2.js"></script>
  <script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
  <link rel="stylesheet" href="/resources/demos/style.css">

<body>
  <label>InputBox:</label>
  <input type="number" id="inputbox" />
  <br>
  <br>

  <div id="slider"></div>
</body>

JS:

$(document).ready(function(){
  $("#inputbox").val(50);
  $( "#slider" ).slider({
    range: "min",
    value: 50,
    min: 1,
    max: 100,
    step: 1,        

    slide: function( event, ui ) {
      var value = $( "#slider" ).slider( "option", "value" );
      //on slide update inputbox
      $('#inputbox').val(value);

       //whatever other tasks you need to do.
    }
  });

  $("#inputbox").keyup( function(){

     //whatever other tasks you need to do.

    $( "#slider" ).slider( "option", "value", parseInt($(this).val()) );

    //whatever other tasks you need to do.

  });

});

Codepen链接:http://codepen.io/anon/pen/bExger

关于javascript - jQuery UI slider (从文本输入设置),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35186991/

相关文章:

javascript - 是否可以使用带有自定义图像的社交按钮? (与柜台)

javascript - 寻找解决方法,因为 radiobutton.click() 挂起 Safari 但在 Chrome 中有效

javascript - 如何使用 t-extend 添加新按钮?

jquery - 如何使用each()选择第一个 radio ?

jQuery UI 对话框添加内容

javascript - 根据 div 的 id 创建一个数组

javascript - 如何在 Extjs 中使用网格显示 JSON 数据

javascript - 隐藏或显示复选框是否选中 JavaScript

jquery - TinyMCE - 附加到通过 AJAX 调用加载的 div

css - jquery autocomplete ul列表项在使用键盘向上和向下箭头时突出显示