繁体   English   中英

Javascript / Jquery滑块更改功能

[英]Javascript/Jquery slider change function

好的,这就是问题所在。 我很讨厌jquery,但是我想变得更好。 我有一个jQuery用户界面范围滑块,效果很好。 但是我试图添加一个更改功能,以便在更改值时将最小年龄值放入一个文本框中,将最大年龄放入另一个文本框中。 “ change”块上方的所有内容都可以正常工作,但是一旦我将“ change:”向下的块添加到代码中,滑块就不会出现,并且我有一个明显的错误。 我已经根据在线教程尝试了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元素赋值的位。 我如何才能使其在页面加载时最初启动? 在页面加载时,它看起来像这样:

在此处输入图片说明

当我更换滑块时:

在此处输入图片说明

我只是希望基于初始值在页面加载时生成相同的标题

尝试这个:

$( "#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部分

要设置“金额”值,可以在上面的代码下尝试:

 // This gets the current values which you have set above var values = $( "#slider-range" ).slider( "option", "values" ); $("#amount").val(values[0] + " - " + values[1]); 

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

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

$( "#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 );  
      }
});

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

 $("#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> 

使用以下

对于最小值

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

最大值

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM