Que dois-je faire pour conserver l’étiquette d’une case à cocher sur la même ligne avec la case à cocher dans une vue de rails contenant un formulaire?
Actuellement, l’étiquette passe à la ligne suivante:
"btn btn-large btn-primary" %>
Merci Alexandra
- Comment faire pour que ngMessage pour les champs obligatoires ne s’affiche que lorsqu’il est sale ou en soumettant un formulaire?
- Comment dessiner des lignes en utilisant XNA?
- Lecture 2.4: Formulaire: impossible de trouver une valeur implicite pour les messages de parameters: play.api.i18n.Messages
- ng-show = “true” mais a toujours class = “ng-hide”
- Sélectionnez basé sur enum dans Angular2
- Récupération du code d’état HTTP de l’iframe chargé avec Javascript
- Supprimer tous les styles (bordure, lueur) de textarea
- Widget multi-sélection Django?
- Intersection de deux rectangles
- Réinitialiser un formulaire dans Angular 2 après submit
Il semble que vous utilisiez Bootstrap. Je vous recommande donc d’adapter votre code de vue pour utiliser la disposition de forme horizontale décrite dans cette section des documents Bootstrap: http://getbootstrap.com/css/#forms
Selon le wiki bootstrap , il doit être
qui dans Ruby on Rails est
<%= f.label :terms_of_service do %> <%= f.check_box :terms_of_service %> I agree to the <%= link_to 'Terms of Service', policies_path %>. <% end %>
<%= f.check_box :terms_of_service, :style => "float:left;" %> <%= f.label :terms_of_service, "I agree to the #{link_to 'Terms of Service', policies_path}.".html_safe, :style => "float:left;" %>
Le commentaire sur la réponse est correct, mais cela suppose une certaine nuance dans la compréhension de l’ordre des éléments.
La réponse correcte est la suivante:
<%= f.check_box :terms_of_service %> <%= f.label :terms_of_service, "I agree to the #{link_to 'Terms of Service', policies_path}.".html_safe , {class: "checkbox inline"} %>
Deux choses sont nécessaires:
- La classe sur l’élément label
- L’élément checkbox doit être avant l’élément label.
Cela est évident une fois que vous le voyez fonctionner, mais tous les autres exemples pour form_for ont toujours les entrées après les étiquettes et vous devez changer cela pour la case à cocher.
J’ai eu un problème similaire l’autre jour, en utilisant twitter bootsrap, mais j’utilise aussi la gem simple_form. J’ai dû corriger ce détail via css, voici mon code:
<%=f.input :status, :label => "Disponible?", :as => :boolean, :label_html => { :class => "pull-left dispo" }%>
css:
.dispo{ margin-right:10%; } pull-left{ float:left; }
Pour conserver le i18n en utilisant une label
, vous pouvez utiliser t
:
<%= f.label :my_field do %> <%= f.check_box :my_field %> <%= t 'activerecord.attributes.my_model.my_field' %> <% end %>
<%= f.check_box :subscribed, class: 'form-control' %> <%= f.label :subscribed, "Subscribe" %>
pour les balises de base
<%= label_tag('retry-all') do %> Retry All <= check_box_tag("retry-all",false) %> <% end %>
Utilisez-vous le bootstrap
? Un moyen facile à faire est d’append :class => "span1"
dans f.submit. Je suis sûr que ça a marché!
J’emballerais la case à cocher à l’intérieur de l’étiquette.
<%= f.label :terms_of_service do %> <%= f.check_box :terms_of_service %> I agree to the <%= link_to 'Terms of Service', policies_path %> <% end %>
Lorsque le champ de saisie est enveloppé par son étiquette, vous n’avez en fait pas besoin de l’atsortingbut for sur l’étiquette. L’étiquette activera la case à cocher sans ce clic. Donc encore plus simple:
Généralement pour Rails, cela pourrait être un moyen d’y parvenir (nom_atsortingbut_humain fonctionne avec i18n):
Pour Bootstrap 4, dans HAML
.form-check =f.label :decision_maker, class: 'form-check-label' do =f.check_box :decision_maker, class: 'form-check-input' Decision Maker
ou
.form-group =f.check_box :decision_maker =f.label :decision_maker
https://v4-alpha.getbootstrap.com/components/forms/#default-stacked
La première façon est la plus correcte, mais la seconde semble pratiquement identique et DRYer.
<%= f.label :paid? %> <%= f.check_box :paid, value: 'false' %>
J’utilise css / html pur et ce css fonctionne bien pour moi.
input { float:left; width:auto; } label{ display:inline; }
- Plusieurs objects dans un formulaire Rails
- Exclure explicitement un élément HTML de l’ordre de tabulation
- Comment puis-je définir manuellement un champ de forme angular comme non valide?
- Angular4 – Aucun accesseur de valeur pour le contrôle de formulaire
- Comment parcourir les éléments d’une vue
- Les éléments de formulaire en dehors d’une balise FORM sémantique html5?
- Qu’est-ce que c’est & amp utilisé pour
- Plusieurs groupes de boutons radio dans un seul formulaire
- angular2 déclencher manuellement un événement click sur un élément particulier
- Comment puis-je désactiver le bouton d’effacement que IE10 insère dans les zones de texte?