如何修复Jquery UI滑块,显示负值

时间:2012-03-01 09:45:44

标签: jquery jquery-ui jquery-plugins

enter image description here Jquery UI滑块有时在 firefox 10.0.2中显示-1如何解决此问题?

问题出在原始插件网站jqueryui.com/demos/slider/range.html

的演示中

3 个答案:

答案 0 :(得分:2)

它是jQuery UI库的一个错误..其他人也用版本1.8.16报告..你可以在这里看到它http://bugs.jqueryui.com/ticket/8108

根据线程中的注释,我已经用1.8.17检查了它并且工作得很好..所以好像在1.8.18中重新引入了这个bug ..

尝试将文件更改为1.8.17版本..它应该可以使用!

答案 1 :(得分:2)

我在使用Firefox 10.0.2 for OS X时发现了这一点,并发现它存在于jQuery UI 1.8.16,1.8.17和1.8.18,所以不幸的是Anz的解决方案对我不起作用。

在此期间我做了一个非常简单的补丁工作,只需转到功能我用来更新滑块'标签'并重写它:

function SlideFunction(sSlider, ui) {
    if (ui.value == -1) {
        ui.value = 0;
    };
    $(sSlider).val(ui.value);
};

其中sSlider是一个本地字符串变量,包含要移动的滑块的ID。

答案 2 :(得分:-2)

如果您遇到问题,为什么不尝试应用补丁,如下所示:

$(function() {
  $( "#slider-range" ).slider({
    range: true,
    min: 0,
    max: 500,
    values: [ 75, 300 ],
    slide: function( event, ui ) {
      $( "#amount" ).val( "$" + ui.values[ 0 ] + " - $" + ui.values[ 1 ] );
      checkValues(ui.values[ 0 ], ui.values[ 1 ]);
    }
  });
  $( "#amount" ).val( "$" + $( "#slider-range" ).slider( "values", 0 ) + " - $" + $( "#slider-range" ).slider( "values", 1 ) );

  function checkValues(valOne, valTwo){
    if (valOne == -1){
      $( "#amount" ).val( "$0 - $" + valTwo );
      $('.ui-state-active').removeClass('ui-state-active');
    }
  };
});

这是一个粗糙的补丁,但它的确如此。我在这里测试了它 - http://www.alsdev.co.uk/slider。注意我使用10作为检查进行了测试,因为我无法重现'-1'。

希望这能帮到你一点点。