【问题标题】:Jquery-ui-slider prevent max and min beeing set to the same value [duplicate]Jquery-ui-slider防止最大和最小蜜蜂设置为相同的值[重复]
【发布时间】:2017-02-06 09:19:11
【问题描述】:

我正在使用 jquery-slider 作为选择器,您可以在其中设置价格的最小值和最大值。

我的问题是可以将 max 和 min 选择器设置为相同的值。

有没有办法防止这种情况发生?

我已经阅读了插件的所有可能选项参数,似乎没有编辑插件就无法解决这个问题?

感谢您的帮助

编辑

这里以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>

【问题讨论】:

    标签: jquery jquery-ui-slider


    【解决方案1】:

    解决方法是将以下代码添加到slide:

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

    你也可以在下面的sn-p中测试

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

    【讨论】:

      猜你喜欢
      • 2013-09-18
      • 1970-01-01
      • 2013-04-11
      • 1970-01-01
      • 2011-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多