Rails:simple_form单选按钮

时间:2013-07-15 01:29:40

标签: javascript jquery ruby-on-rails simple-form

我想在轨道中以简单的形式使用我的自定义按钮作为单选按钮。但我真的不知道该怎么做。我有一个CSS代码,它给了我想要的按钮,但我认为我的简单形式是错误的,我真的不知道如何设置javascrip ......

有人知道我怎么能做到这一点吗?

我的简单形式:

  <%= simple_form_for(@post, :html => {:class => 'form-inline' }) do |f| %>
    <%= f.input :link, label: false %>
    <div class="button_group">
      <%= f.input :type, as: :hidden %>
      <a class="radio_button" data-value="0">ONE</a>
      <a class="radio_button" data-value="1">TWO</a>
      <a class="radio_button" data-value="2">THREE</a>
    </div>
    <%= button_tag(type: 'submit', class: "submit_button") do %>
      SUBMIT!
    <% end %>
  <% end %>

CSS按钮:

.radio_button {
    color: white;
    background-color:#828282;
    font-family: 'Fjalla One', serif;
    font-size: 10pt;
    font-weight: 100;
    text-align: center;
    font-style: italic;
    padding:0px 6px;
    padding-right: 8px;
    padding-top: 3px;
    padding-bottom: 2px;
    text-decoration:none;
    border: none;
}.radio_button:hover {
    background-color:#0E9EBB;
    color: white;
    text-decoration:none;
}.radio_button:active {
    position:relative;
    background-color:#0E9EBB;
    top:1px;
}

1 个答案:

答案 0 :(得分:1)

请参阅此评论代码:

// select all next .radio_button elements to #post_type hidden input
$('#post_type ~ a.radio_button').

  // execute code block on click
  click( function(){

     // this refers to clicked a element, you will get strings like: 0, 1, 2
     var clickedValue = $(this).data('value');

     // set clicked value in hidden input
     $('#post_type').val(clickedValue);

  } );

更新

因为如果您来自simple_form_for @something @something Something,则生成f.input :some_field输入,其ID为:something_some_field,您可以检查生成的HTML确认。