如何使用类型范围输入中的值来设置jQuery UI Slider的值?

时间:2012-03-22 16:05:47

标签: javascript jquery html5 jquery-ui

我正在使用jQuery UI Slider作为HTML5输入类型=范围的后备。最初,我想使用input-element中的值来设置jQuery UI Slider的值,但这似乎不起作用。 input-element的值设置为50,但是当创建滑块时,它的值为100.如果我使用value: 50而不是value: $input.attr('value'),它可以正常工作。 min: $input.attr('min')max: $input.attr('max')工作得很好。

这是我的代码:

$(document).ready(function(){

    sliderFallback();

});


function sliderFallback(){ 
    $('input[type=range]').each(function() {  
        var $input = $(this);  
        var $slider = $('<div id="' + $input.attr('id') + '" class="' + $input.attr('class') + '"></div>');  


        $slider.slider({  
            min: $input.attr('min'),  
            max: $input.attr('max'),
            value: $input.attr('value'),    
            slide: function(e, ui) {  
                $(this).val(ui.value); 
            }  
        });
        $input.after($slider).hide();
    }); 
}

1 个答案:

答案 0 :(得分:1)

试试这个:

      function sliderFallback(){ 
          $('input[type=range]').each(function() {  
              var $input = $(this);  
              var $slider = $('<div id="' + $input.attr('id') + '" class="' + $input.attr('class') + '"></div>');  

              var val = parseInt($(this).val());

              $slider.slider({  
                  min: $input.attr('min'),  
                  max: $input.attr('max'),
                  value: val,    
                  slide: function(e, ui) {  
                      $(this).val(ui.value); 
                  }  
              });
              $input.after($slider).hide();
          }); 
      }