我正在尝试在 Rails 3.2的simple_form中插入一个jQuery UI 滑块。
我创建了一个新的输入类app/inputs/slider_input.rb
class SliderInput < SimpleForm::Inputs::Base
def input
"<div class='slider-input'></div>#{@builder.hidden_field(attribute_name, input_html_options)}"
end
end
这里_form.html.erb
<%= simple_form_for(@post, :html => {:class => 'form-horizontal' }) do |f| %>
<%= f.input :name %>
<%= f.input :rating, :as => :slider, :input_html => { :value => '6' } %>
<%= f.input :telephone %>
<%= f.button :submit, :class => 'pull-right' %>
<% end %>
问题是生成的代码是:
<div class="controls">
<div class="slider-input ui-slider ui-slider-horizontal ui-widget ui-widget-content ui-corner-all">
<a href="#" class="ui-slider-handle ui-state-default ui-corner-all"></a>
</div>
<input type="hidden" value="10" name="post[rating]" id="post_rating" class="slider required"></div>
如何6
在隐藏字段中传递默认值?目前默认值为 10,不知道为什么,可能是 javascript:
$(document).ready(function() {
$(".slider-input").slider({
min: 1,
max: 10,
values: [ 6 ],
step: 0.5,
slide: function(event, ui) {
$(this).next('input').val(ui.value);
$(this).parent().find('span.slider-value').html(ui.value);
}
});
});
另外,这是实现自定义滑块输入的最佳方式吗?对不起,我是 Rails 新手。
谢谢