1

何らかの理由で、パーシャルをロードしてテキストボックスをクリックして日付ピッカーを表示すると、テキストボックスの外をクリックしてから、日付ピッカーが表示される前にテキストボックスに戻る必要があります。テキストボックスが最初にクリックされたときに日付ピッカーが表示されるように、誰かが何か間違っているか、またはそれを修正する方法を見ることができますか? Ruby 1.9.3 と Rails 3.2.8 を使用しています

users.js.coffeescript

$("form[data-update-target]").live "ajax:success", (evt, data) ->
  target = $(this).data("update-target")
  $("#" + target).html data

$("#update-container").on 'click', '#event_start_at_date', (evt) ->
  $("#event_start_at_date").datepicker({ dateFormat: "yy-mm-dd" })

$("#update-container").on 'click', '#event_end_at_date', (evt) ->
  $("#event_end_at_date").datepicker({ dateFormat: "yy-mm-dd" })

テキストボックスが入っている部分的な_event

<%= form_for(@event) do |f| %>
  <div class="field">
  <%= f.label 'start date' %>*
  <%= f.text_field :start_at_date, :class => 'start_at_date', :size => 10, :maxlength => 10 %> 
  <%= f.text_field :start_at_time, :size => 5, :maxlength => 5 %>
</div>
<div class="field">
  <%= f.label 'end_date' %>*
  <%= f.text_field :end_at_date, :class => 'end_at_date', :size => 10, :maxlength => 10 %> 
  <%= f.text_field :end_at_time, :size => 5, :maxlength => 5 %>
</div>
<% end %>

ユーザー向けの新しいページ new.html.erb

<%= form_tag({:controller => 'users', :action => 'preview'}, :remote => true, :'data-update-target' => 'update-container') do %>
  <%= radio_button_tag(:page_type, 'event', false, :class => 'submit') %>
  <%= label_tag(:page_type, "Event") %>
  <br/>
<% end %>
<div id="update-container">
</div>
4

1 に答える 1

3

通話中

$("#event_start_at_date").datepicker({ dateFormat: "yy-mm-dd" })

日付ピッカーを開かず、日付ピッカーをその要素にバインドするだけです。つまり、クリックに反応して日付ピッカーを開きます。

クリック ハンドラーではなく、DOM が読み込まれるときに、日付ピッカーを要素にバインドする必要があります。

于 2012-11-15T08:23:27.540 に答える