如何使用jQuery滑块显示文本值?

问题描述 投票:0回答:1

我的目标是有一个滑块,滑动将改变信息文本。

jQuery移动文档显示了不幸的数值:http://demos.jquerymobile.com/1.4.5/slider/

目前我使用的是选择字段:

<select name="condition" id="filter_condition"> 
    <option value="18">Average</option> 
    <option value="13">Good</option>
    <option value="277">Bad</option>
</select>

如在此示例中,值不是1-3而不是按顺序。

而不是显示选择字段,我想显示一个滑块,左侧是坏的,右侧是好的。

这可以用jQuery mobile吗?我只找到了带数值的例子。

jquery jquery-mobile
1个回答
1
投票

不能完全理解为什么你的价值观不会被订购,但无论如何,这是我的建议。

如果这不完全符合您的预期,请随时更新您的问题并提供更多详细信息。

在您的示例中,您只需要创建与您的选项对应的三个滑块扇区,显然,与这些扇区的关系。使用cases[val].value过滤掉你需要的东西。 input.change活动是你的朋友。

$(document).on("pagecreate", "#page-one", function() {
  var cases = [{value:277, label:"bad"},{value:18, label:"average"},{value:13, label:"good"}];
  $(".full-width-slider input").on("change", function() {
    var val = ($(this).val()/100)|0;
    $(".full-width-slider h3").text(cases[val].label);
  });
});
/* Hide the number input */
.full-width-slider input {
  display: none !important;
}
.full-width-slider .ui-slider-track {
  margin-left: 15px;
}

.full-width-slider h3 {
  text-align: center;
}
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
  <link rel="stylesheet" href="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.css">
  <script src="https://code.jquery.com/jquery-1.11.2.min.js"></script>
  <script src="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.js"></script>
</head>
<body>
  <div id="page-one" data-role="page">
    <div role="main" class="ui-content">
      <div class="full-width-slider">
        <h3 class="ui-bar ui-bar-a ui-corner-all">bad</h3>
        <input type="range" min="0" max="299" value="0" autocomplete="off" />
      </div>
    </div>
  </div>
</body>
</html>

这是关于slider事件的另一个例子:https://stackoverflow.com/a/44519349/4845566

© www.soinside.com 2019 - 2024. All rights reserved.