簡體   English   中英

Jquery-ui datepicker僅在文本框第二次聚焦后出現

[英]Jquery-ui datepicker only appears after textbox focused second time

出於某種原因,當我加載部分並單擊文本框以顯示日期選擇器時,我必須單擊文本框,然后在出現日期選擇器之前單擊文本框中的返回。 任何人都可以看到任何錯誤或如何解決它,以便第一次單擊文本框時出現datepicker? 我正在使用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>

調用

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

不打開datepicker,它只是將datepicker綁定到該元素,這意味着它將對點擊做出反應並打開datepicker。

您應該在加載DOM時將datepickers綁定到元素,而不是在單擊處理程序中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM