2012-10-01 100 views
2

我試圖在Rails 3.2中的simple_form中插入jQuery UI SliderjQuery UI滑塊+ Rails + SimpleForm

我創建了一個新的輸入級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新手。

感謝

回答

2

看起來你只是初始化滑塊不當,使用values代替value

這裏是你如何設置一個值:

$(".selector").slider({ value: 10 }); 

這裏是你如何設置多個值:

$(".selector").slider({ values: [ 10, 25 ] }); 

看一看在jquery API文檔的更多文檔上設置的值。