我想在轨道中以简单的形式使用我的自定义按钮作为单选按钮。但我真的不知道该怎么做。我有一个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;
}
答案 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确认。