使用Ruby on Rails的范围滑块

使用Ruby on Rails.My代码滑块如下:

 

这给我滑块如下:

它只有一个滑块。但我想要两个滑块

但我想要范围滑块如下所示:

在此处输入图像描述

它有两个滑块,并用#('something').slider给出两个值.slip jquery方法#('something').slider在ruby中应该是我的代码,以显示第二个图像中显示的滑块。

我认为你指的是一个jQuery UI滑块。 如果您的应用中还没有jquery-ui,可以这样设置:

gem’jquery gem 'jquery-ui-rails'到您的Gemfile中

//= require jquery-ui添加到application.js

*= require jquery-ui添加到application.css

运行bundle

在您的视图中,创建一个div来保存滑块:

 

然后在表单中为获取滑块数据的属性添加一对隐藏字段:

 <%= form_for @thing do |thing_form| %> <%= thing_form.hidden_field :data1 %> <%= thing_form.hidden_field :data2 %> <%= thing_form.submit "Submit" %> <% end %> 

最后一部分是您的JavaScript,它可以放在视图中或单独的js文件中:

 $(document).ready(function() { var slider = $("#the_slider").slider({ range: true, min: 200, max: 500, values: [250, 450], slide: function(event, ui) { $("#thing_data1").val(ui.values[0]); $("#thing_data2").val(ui.values[1]); } }); $("#thing_data1").val(slider.slider("values")[0]); $("#thing_data2").val(slider.slider("values")[1]); }); 

thing_data1thing_data2form_for在此上下文中赋予thing_data2id 。 当然,在将数据分配给hidden_field input value之前,您可以使用slide:的滑块中的值执行任何操作slide:回调函数。

编辑:我给了hidden_field input来自滑块的初始值,因此如果客户端没有移动一个或两个滑块手柄,它们将由表单提交。