【问题标题】:Assigning a unique class to individual radio inputs using Simple Form使用简单表格为单个无线电输入分配唯一的类
【发布时间】:2015-07-04 03:50:21
【问题描述】:

我有一对无线电输入,我想分别添加独特的类。我知道使用input_html {class: "example-class"},但我需要两个类不同。比如:

<input type="radio" class="male" value="male">
<input type="radio" class="female" value="female">

我已经阅读了关于简单表单的文档和关于 SO 的多个帖子,但似乎仍然找不到解决方案。相反,答案只会导致将一个基本类分配给标签和/或其子输入。这是目前我的单选按钮的设置方式:

<%= f.collection_radio_buttons :gender, [['male', 'male'] ,['female', 'female']], :first, :last %> 

【问题讨论】:

    标签: html ruby-on-rails input radio-button simple-form


    【解决方案1】:

    你可以像这样传递一个块:

    <%= f.collection_radio_buttons :gender, [['male', 'male'] ,['female', 'female']], :first, :last do |b|
          b.label { b.radio_button(class: (b.value == 'male' ? 'male' : 'female' )) }
        end
    %> 
    

    阅读documentation这个方法:

    .. 也可以通过给方法一个块来自定义元素的显示方式:

    【讨论】:

    • 我收到语法错误:syntax error, unexpected '}', expecting ')'
    • 现在可以使用了,谢谢。你会知道为什么当它以块格式完成时它会删除输入的标签吗?
    • @CarlEdwards 可能是由于b.label.. 仅尝试b.radio_button(class: (b.value == 'male' ? 'male' : 'female' ))..
    • 顺便说一句,您可以使用b.label 方法本身定义标签。阅读链接文档的最后一部分。
    • 奇怪。即使在块中省略了b.label 之后,&lt;label/&gt; 元素仍会出现在源代码中:b.radio_button(class: (b.value == 'male' ? 'male' : 'female' ))。我想知道为什么。
    猜你喜欢
    • 2016-11-19
    • 2021-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-19
    • 2013-12-03
    相关资源
    最近更新 更多