2017-02-06 24 views
0

jquery-sliderを使用して、価格の最小値と最大値を設定できるセレクタを使用しています。Jquery-ui-sliderが最大値と最小値を同じ値に設定しないようにします

image of the slider

私の問題は、そのかのうがmaxと同じ値の分のセレクタを設定することです。

Example: max and min same value

これを防ぐ方法はありますか?

プラグインのすべての可能なオプションパラメータを読みましたが、プラグインを編集せずにこれを解決する方法がないようでしたか? https://jqueryui.com/slider/#range

$(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 ]); 
 
     } 
 
    }); 
 
    $("#amount").val("$" + $("#slider-range").slider("values", 0) + 
 
     " - $" + $("#slider-range").slider("values", 1)); 
 
    });
<!doctype html> 
 
<html lang="en"> 
 
<head> 
 
    <meta charset="utf-8"> 
 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
 
    <title>jQuery UI Slider - Range slider</title> 
 
    <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css"> 
 
    <link rel="stylesheet" href="/resources/demos/style.css"> 
 
    <script src="https://code.jquery.com/jquery-1.12.4.js"></script> 
 
    <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script> 
 
</head> 
 
<body> 
 
    
 
<p> 
 
    <label for="amount">Price range:</label> 
 
    <input type="text" id="amount" readonly style="border:0; color:#f6931f; font-weight:bold;"> 
 
</p> 
 
    
 
<div id="slider-range"></div> 
 
    
 
    
 
</body> 
 
</html>

答えて

1

に示すように

は、ソリューションには、以下を追加しましたあなたの助け

編集ここ

例として、スタンダールスライダーをありがとうコードslide:

if(ui.values[ 0 ] +19 >= ui.values[ 1 ]){ 
     return false; 
    } 

また、次のスニペット

$(function() { 
 
    $("#slider-range").slider({ 
 
     range: true, 
 
     min: 0, 
 
     max: 500, 
 
     values: [ 75, 300 ], 
 
     slide: function(event, ui) { 
 
     if(ui.values[ 0 ] +19 >= ui.values[ 1 ]){ 
 
      return false; 
 
     } 
 
     $("#amount").val("$" + ui.values[ 0 ] + " - $" + ui.values[ 1 ]); 
 
     } 
 
    }); 
 
    $("#amount").val("$" + $("#slider-range").slider("values", 0) + 
 
     " - $" + $("#slider-range").slider("values", 1)); 
 
    });
<!doctype html> 
 
<html lang="en"> 
 
<head> 
 
    <meta charset="utf-8"> 
 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
 
    <title>jQuery UI Slider - Range slider</title> 
 
    <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css"> 
 
    <link rel="stylesheet" href="/resources/demos/style.css"> 
 
    <script src="https://code.jquery.com/jquery-1.12.4.js"></script> 
 
    <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script> 
 
</head> 
 
<body> 
 
    
 
<p> 
 
    <label for="amount">Price range:</label> 
 
    <input type="text" id="amount" readonly style="border:0; color:#f6931f; font-weight:bold;"> 
 
</p> 
 
    
 
<div id="slider-range"></div> 
 
    
 
    
 
</body> 
 
</html>

でそれをテストすることができます
関連する問題