Я хочу знать, как скрыть элемент, если выбрана радиокнопка.
У меня есть форма, и я хочу показать оба значения first_name
и last_name
, если выбрана радиокнопка, соответствующая на account.kind == "person"
, в противном случае они должны быть скрыты.
Вот код Хамла:
= simple_form_for(@account, html: { class: 'edit-form edit_account' }, wrapper: :edit_form) do |f|
%fieldset.large-2-col
%legend.hint
%span= t('views.accounts.profile.description')
.fields-block
= f.input :kind, as: :radio_buttons, wrapper_class: 'fields-group contact-type', item_wrapper_class: 'inline', item_wrapper_tag: 'div', collection: Account.kind.options, required: true, wrapper: :inline_radio
= f.input :first_name, autofocus: true, input_html: { data: { person: Account.human_attribute_name('first_name'), company: Account.human_attribute_name('company_name') } }
= f.input :last_name
И соответствующий код CoffeeScript, который может иметь или не иметь отношение:
$("form input[name='account[kind]']").bind 'change', () ->
selected_value = $("input[name='account[kind]']:checked").val()
$("label[for='account_first_name']").html $('#account_first_name').data(selected_value)
$("#account_last_name").parents('.fields-group').toggleClass('hidden', selected_value != 'person')
$("#account_last_name").val('') if selected_value == 'company'
false
$("input[name='account[kind]']").trigger 'change' if $("input[name='account[kind]']").length > 0