2011-09-27 3 views
0

Railscast by RyanB을 따라 jQuery date_picker를 양식에 추가하고 지금 며칠 동안 붙어 있습니다. 지침에 따르면, 세 만 변경이 있습니다 : jQuery를 및 jQuery를-UI를 포함하는레일 3에 jQuery 날짜 선택기가 표시되지 않습니다

  1. 변경 application.html.erb는
  2. 변경에 텍스트로 date_select 필드 (아래 내 application.html.erb 참조) jQuery를 수용하십시오. 내 _form.html.erb의 변화를 만들어 :

    <%을 = f.text_field : born_in %> 다음 문 application.js하는

  3. 추가 :

    $(function() { 
    $("#spec_born_in").datepicker(); 
        }); 
    

을 까다로운 문제는 FullCalendar (JavaScript 플러그인)를 사용하고 있다는 것입니다. 어떤 이유로 든 applicaiton.js에 아무 것도 추가하지 않으면 FullCalendar가 표시되지 않습니다. 따라서 함수 정의를 application_jquery_helper.js라는 파일에 넣고 FullCalendar의 js 파일을로드 한 후로드해야합니다.

나는이 모든 것을했지만 내 양식에서 텍스트 필드는 텍스트 필드이고 jQuery datepicker는 표시되지 않습니다.

jQuery datepicker가 표시되지 않도록 내가 잘못했는지 궁금합니다. 내가 생각할 수있는 유일한 이유는 js 파일을 내 application.html.erb에 포함시킨 순서이지만, 문제를 해결하는 방법을 모르겠습니다.

다음은 application.html.erb 내 오히려 큰 : 이

이 이

의견이나 제안이 매우

<head> 
<%= csrf_meta_tag %> 
<%= render 'layouts/stylesheets'%> 
<%= javascript_include_tag :defaults %> 
<!-- <%=stylesheet_link_tag'blueprint/screen',:media=>'screen'%> 
<%=stylesheet_link_tag'blueprint/print',:media=>'print'%> --> 
<%= stylesheet_link_tag 'formtastic', 'formtastic_changes', :cache => "base" %> 

<%= stylesheet_link_tag "http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/themes/redmond/jquery-ui.css", "application" %> 
<%= javascript_include_tag "http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js", 
      "http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.1/jquery-ui.min.js", "application" %> 

<%= stylesheet_link_tag "fullcalendar.css" %> 
<%= stylesheet_link_tag "application.css" %> 
<%= javascript_include_tag "jquery.js" %> 
<%= javascript_include_tag "jquery.rest.js" %> 
<%= javascript_include_tag "rails.js" %> 
<%= javascript_include_tag "application.js" %> 
    <!-- these are needed for the calendar. --> 
<%= javascript_include_tag "jquery-ui-1.8.11.custom.min.js" %> 
<%= javascript_include_tag "fullcalendar.js" %> 
<%= javascript_include_tag "calendar.js" %> 
<%= javascript_include_tag "application_jquery_helper.js" %> 
을 감사합니다!

답변

0

DOM이 완전히로드되지 않은 경우 요소에 액세스하려고한다고 생각합니다.

$(document).ready(function(ev) { 
    $("#spec_born_in").datepicker(); 
}); 

은 "미래"를 지원해야하는 경우도 jQuery's .live() functionality 볼 수 있습니다 :

이 문제를 해결하려면.

+0

감사합니다. Adam. 필자의 경우 prototype과 jQuery가 충돌하여 문제가 발생했습니다. – AdamNYC

+0

아, 예, 때로는 잘 돌아 가지 않습니다. –

관련 문제