单轨按钮的标签形式 [英] Labels for radio buttons in rails form
本文介绍了单轨按钮的标签形式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的问题类似于这一个
但对于一个Rails应用程序。
我有一个单选按钮的表单,并希望将标签与它们关联。 标签
表单助手仅将表单字段作为参数,但在这种情况下,对于单个表单字段,我有多个单选按钮。我看到要做到这一点的唯一方法是手动创建一个标签,硬编码自动为单选按钮生成的标识。有人知道更好的方法吗?例如:
<%form_for(@message)do | f | %GT;
<%= label:contactmethod%>
<%= f.radio_button:contactmethod,'email',:checked => true%>电子邮件
<%= f.radio_button:contactmethod,'sms'%> SMS
<%end%>
这会产生类似于:
< label for =message_contactmethod> Contactmethod< / label>
< input checked =checkedid =message_contactmethod_emailname =message [contactmethod]value =emailtype =radio>电子邮件
< input id =message_contactmethod_smsname =message [contactmethod]value =smstype =radio> SMS
我想要的:
< input checked =checkedid =message_contactmethod_emailname =message [contactmethod]value =emailtype =radio>< label for =message_contactmethod_email> ;电子邮件与LT; /标签>
< input id =message_contactmethod_smsname =message [contactmethod]value =smstype =radio> < label for =message_contactmethod_sms> SMS< / label>
解决方案
< %form_for(@message)do | f | %GT;
<%= f.radio_button:contactmethod,'email',:checked => true%>
<%= label:contactmethod_email,'电子邮件'%>
<%= f.radio_button:contactmethod,'sms'%>
<%= label:contactmethod_sms,'SMS'%>
<%end%>
My question is similar to this one but for a Rails app.
I have a form with some radio buttons, and would like to associate labels with them. The label
form helper only takes a form field as a parameter, but in this case I have multiple radio buttons for a single form field. The only way I see to do it is to manually create a label, hard coding the ID that is auto generated for the radio button. Does anyone know of a better way to do it?
For example:
<% form_for(@message) do |f| %>
<%= label :contactmethod %>
<%= f.radio_button :contactmethod, 'email', :checked => true %> Email
<%= f.radio_button :contactmethod, 'sms' %> SMS
<% end %>
This generates something like:
<label for="message_contactmethod">Contactmethod</label>
<input checked="checked" id="message_contactmethod_email" name="message[contactmethod]" value="email" type="radio"> Email
<input id="message_contactmethod_sms" name="message[contactmethod]" value="sms" type="radio"> SMS
What I want:
<input checked="checked" id="message_contactmethod_email" name="message[contactmethod]" value="email" type="radio"><label for="message_contactmethod_email">Email</label>
<input id="message_contactmethod_sms" name="message[contactmethod]" value="sms" type="radio"> <label for="message_contactmethod_sms">SMS</label>
解决方案
<% form_for(@message) do |f| %>
<%= f.radio_button :contactmethod, 'email', :checked => true %>
<%= label :contactmethod_email, 'Email' %>
<%= f.radio_button :contactmethod, 'sms' %>
<%= label :contactmethod_sms, 'SMS' %>
<% end %>
这篇关于单轨按钮的标签形式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文