Comment puis-je mettre le bootstrap datepicker dans mon formulaire et ont de la valeur dans le paramètre de date?
Je suis en utilisant bootstrap-datepicker.js et il fonctionne très bien.
<div class="well">
<div id="dp5" class="input-append date" data-date-format="dd-mm-yyyy" data-date="12-02-2012">
<input class="span2" type="dp5" readonly="" value="12-02-2012" size="16">
<span class="add-on">
<i class="icon-th"></i>
</span>
</div>
</div>
Je veux l'utiliser dans mon formulaire dans les rails qui est de ce type
<%= simple_form_for(@customer) do |f| %>
<%= f.error_notification %>
<div class="form-inputs">
<%= f.input :name %>
<%= f.input :email %>
<%= f.input :address %>
<%= f.input :phone %>
<%= f.input :Projects %>
<%= f.radio_button :status, 0, :checked => true%>Publish
<%= f.radio_button :status, 1 %>Unpublish
<%= f.radio_button :status, 2 %>Trash
</div>
<div class="form-actions">
<%= f.button :submit %>
</div>
<% end %>
Ici, je veux mettre le sélecteur de date à l'intérieur de mon formulaire comme
`<%f.(datepicker)%>`
de sorte que quand je soumettre mon formulaire j'obtiens la valeur de date dans le paramètre date. Quand je clique sur la date dans le datepicker il devrait se cacher et de la date par défaut devrait point à la date actuelle. mon appication.js comprend
$(function(){
$('#dp5').datepicker({
format: 'mm-dd-yyyy'
});
$('#dp3').datepicker({
format: 'mm-dd-yyyy'
});
});
Vous devez vous connecter pour publier un commentaire.
Utilisation
<%= f.text_field :name_of_the_date_column, :value=>Date.today.strftime('%m-%d-%Y'), :id =>"dp5" %>
À masquer automatiquement utiliser cette
au lieu de
J'ai simplement répondu à une question similaire ici et ont compris ma réponse ci-dessous:
J'ai aussi besoin d'obtenir ce travail et le soutien de plusieurs paramètres régionaux qui n'utilisent pas de NOUS centrée sur les formats de date, par exemple: fr-AU (Australie), qui a le format de date jj/mm/aaaa.
Le Problème
Rails attend le format de la date à
yyyy-mm-dd
à partir du navigateur, mais vous souhaitez afficher la date dans les paramètres régionaux de l'utilisateur. Alors que la date de commande vous permet de spécifier le format pour l'affichage, il ne vous permet PAS de spécifier le format à être envoyé vers le serveur.La Solution
Construire un champ caché qui envoie le bon format de retour à votre serveur rails. Je le fais avec un " custom simple_form de contrôle d'entrée qui s'appuie à la fois de la date-picker champ de saisie et un champ caché, et utiliser du javascript pour convertir les rails de la date à laquelle le contrôle d'entrée des changements.
Le résultat est que vous pouvez avoir une belle bootstrap date-picker dans les rails et l'utiliser avec simple_form comme suit:
Ou d'utiliser un format de date longue:
Mise en œuvre
De créer ou de modifier les fichiers suivants:
Gemfile
config/locales/fr-AU.yml
config/locales/fr-fr.yml
app/assets/css/de l'application.css.scss
app/assets/javascripts/de l'application.js.café
Sinon, app/assets/javascripts/application.js
app/assets/javascripts/bootstrap-datepicker-rails.js.café
app/entrées/bootstrap_datepicker_input.rb
Vous pouvez l'exprimer de façon plus concise:
J'ai vérifié toutes les réponses, aucun n'a fonctionné pour moi. J'ai utilisé les suivants:
Dans mon cas, MySQL devrait
yyyy-mm-dd
format, tout en datepicker format par défaut estmm/dd/yyyy
. À mon humble avis, les utilisateurs ne se soucient pas de format, donc, je préfère avoir le même format à tous sur la place et de me sauver un tas d'ennuis.