2012-04-14 30 views
13

我使用Simple_form,Twitter的引导和轨道3.2.2到位复选框(Rails的,Twitter的引导,Simple_form)使用切换按钮

有谁知道是否有使用“切换按钮的方式“在simple_form中布尔字段的引导选项?我想用按钮替换复选框。

以下是我在形式到目前为止已经试过(导轨):

<%= f.input :client_approved, :input_html => { :class => 'btn btn-primary', :data => {:toggle => 'button'} } %> 

下面是HTML输出:

<input class="boolean optional btn btn-primary" data-toggle="button" id="id_card_design_client_approved" name="id_card_design[client_approved]" type="checkbox" value="1"> 

如何按钮标签分配给任何想法simple_form输入?

回答

6

,我想出了一个基于JS的办法......我敢肯定,这不是做的最好的方式,但它的作品...

在你的视图文件,沿线添加的东西这个:

<div id="client_approved_buttons" class="btn-group" data-toggle="buttons-radio"> 
    <%= f.input : client_approved, as: :hidden %> 
    <a class="btn" data-value="1">Yes</a> 
    <a class="btn" data-value="0">No</a> 
</div> 

然后在您的JS文件,补充一点:

// make button toggles update hidden field 
$('.btn-group a').on('click', function(event){ 
    event.preventDefault(); 
    var input = $(this).siblings('.control-group').find('input[type=hidden]'); 
    if(input.length>0){ 
    if(input.val().toString() !== $(this).data('value').toString()){ 
     input.val($(this).data('value')).trigger('change'); 
    } 
    } 
}); 
+0

我用JS来更新提交的隐藏字段考虑,但我喜欢这种方法要好得多。 – joraff 2012-09-14 18:20:10

+0

刚回到这个项目。谢谢你的答案。它的功能如预期的那样,但1或0的值未被赋值。所以它不能正确保存。 – prodigerati 2012-10-19 16:46:21

+0

你的意思是隐藏的领域得到更新,但Rails /你的ORM没有注册变化? – 2012-10-19 22:27:33

相关问题