Javascript / Jquery滑块更改功能

时间:2017-05-05 12:34:02

标签: javascript jquery

好的,这就是问题所在。我吮吸jquery,但我想要变得更好。我有一个jquery ui范围滑块,效果很好。但我正在尝试添加一个更改函数,以便在更改值时,将最小年龄值放入一个文本框,将最大年龄放入另一个文本框。 “更改”块上方的所有内容都可以正常工作,但只要我将“更改:”块向下添加到代码中,滑块就会无法显示,并且我有一个明显的错误。我已经尝试了基于在线教程的20种不同方式,我只是无法弄清楚它为什么不起作用。

 $( "#slider-range" ).slider({
      range: true,
      min: 18,
      max: 90,

      values: [ <?php echo htmlentities($row_loggedinUser['minAge']) ?>,<?php echo htmlentities($row_loggedinUser['maxAge']) ?> ],
      slide: function( event, ui ) {$( "#amount" ).val(  ui.values[ 0 ] + " - " + ui.values[ 1 ] );}}),

      change: function(event, ui){
            var x = document.getElementById('minAgeAmt');
            x.value = $( "#slider-range" ).slider( "values", 0 );
            var y = document.getElementById('maxAgeAmt');
            y.value = $( "#slider-range" ).slider( "values", 1 );  
      };

*********编辑***********

现在感谢Leighton它的工作,只有一个问题。我现在有这个:

$( "#slider-range" ).slider({
range: true,

min: 18,
max: 90,
values: [ <?php echo htmlentities($row_loggedinUser['minAge']) ?>,<?php echo htmlentities($row_loggedinUser['maxAge']) ?> ],
slide: function( event, ui ) {$( "#amount" ).val("Age Range : " + ui.values[ 0 ] + " - " + ui.values[ 1 ]);},
change: function(event, ui) {
    var x = document.getElementById('minAgeAmt');
    x.value = $( "#slider-range" ).slider( "values", 0 );
    var y = document.getElementById('maxAgeAmt');
    y.value = $( "#slider-range" ).slider( "values", 1 ); 

}

});

哪个效果很好,但#amount元素赋值的位只会在进行更改时触发(显然)。我怎样才能在页面加载时最初触发它?在页面加载时,它看起来像这样:

enter image description here

一旦我更改了滑块,就:

enter image description here

我只想根据初始值

在页面加载时生成相同的标题

4 个答案:

答案 0 :(得分:1)

试试这个:

tests :: a -> Test
tests x = let 
            y = (cons 0)
            z = (x == y)       -- compiler now knows y :: a
          in
            TestCase (assertEqual "foo" (foo y)  "foo")

main = do
  runTestTT $ TestList
   [ tests (A 0)
   , tests (B 0)
   ]

<小时/> 第2部分

要设置'金额'值,请在上面的代码中尝试:

$( "#slider-range" ).slider({
    range: true,
    min: 18,
    max: 90,

    values: [ <?php echo htmlentities($row_loggedinUser['minAge']) ?>,<?php echo htmlentities($row_loggedinUser['maxAge']) ?> ],
    slide: function( event, ui ) {
        $( "#amount" ).val(ui.values[ 0 ] + " - " + ui.values[ 1 ]);
    },

    change: function(event, ui) {
        var x = document.getElementById('minAgeAmt');
        x.value = $( "#slider-range" ).slider( "values", 0 );
        var y = document.getElementById('maxAgeAmt');
        y.value = $( "#slider-range" ).slider( "values", 1 );  
    }
});

参考https://api.jqueryui.com/slider/#option-values

答案 1 :(得分:0)

语法错误,您错过了最后一行的)
更新编码

$( "#slider-range" ).slider({
      range: true,
      min: 18,
      max: 90,

      values: [ <?php echo htmlentities($row_loggedinUser['minAge']) ?>,<?php echo htmlentities($row_loggedinUser['maxAge']) ?> ],
      slide: function( event, ui ) {$( "#amount" ).val(  ui.values[ 0 ] + " - " + ui.values[ 1 ] );},

      change: function(event, ui){
            var x = document.getElementById('minAgeAmt');
            x.value = $( "#slider-range" ).slider( "values", 0 );
            var y = document.getElementById('maxAgeAmt');
            y.value = $( "#slider-range" ).slider( "values", 1 );  
      }
});

答案 2 :(得分:0)

有一些语法错误,请在下面的代码段中找到更多信息,您必须在change function函数关闭之前放置slider

$("#slider-range").slider({
    range: true,
    min: 18,
    max: 90,

    values: [],
    slide: function(event, ui) {
        $("#amount").val(ui.values[0] + " - " + ui.values[1]);
    },
    change: function(event, ui) {
        var x = document.getElementById('minAgeAmt');
        x.value = $("#slider-range").slider("values", 0);
        var y = document.getElementById('maxAgeAmt');
        y.value = $("#slider-range").slider("values", 1);
    } //close change function
}); //close Slider Function
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css" rel="stylesheet"/>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>

<div id="slider-range"></div>

答案 3 :(得分:0)

使用以下

最小值

var min = $("#slider-range").slider("option", "min");

获取最大值

var max = $("#slider-range").slider("option", "max");