Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Datepicker stopped working on my app, what happened? #51

Open
pblogs opened this issue Feb 23, 2016 · 0 comments
Open

Datepicker stopped working on my app, what happened? #51

pblogs opened this issue Feb 23, 2016 · 0 comments

Comments

@pblogs
Copy link

pblogs commented Feb 23, 2016

I'm having two issues with the same aspect of my application, the abstract view is this:

The app allows users to view different video clips. On the back-end/admin section the admin can track the views of any particular group of clips. For example, the admin can choose Universal Studios, select a date range: Beginning Date: 2015-01-1, End Date: 2016-01-1 and hit filter, and see the number of total views that Universal received within this range.

The problem is, for one, datepicker is no longer working, so when I click on the date fields, no calendar appears, I manually have to type in the date. And for two, I'm only getting results between furthest: 2015-10-18 and 2016-02-18. When I type in 2015-09-18 or anything earlier it doesn't generate results.

Below is the error when I click inspect element in Chorme,

error: Uncaught TypeError: Cannot read property 'apply' of undefined

 */
 (function($) {
   var _datepicker = jQuery.fn.datepicker;

   $.fn.datepicker = function(options) {
    var $date = _datepicker.apply(this, arguments); <--- this line

application.js requires

// This is a manifest file that'll be compiled into including all the files listed below.
// Add new JavaScript/Coffee code in separate files in this directory and they'll automatically
// be included in the compiled file accessible from http://example.com/assets/application.js
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
// the compiled file.
//
//= require jquery
//= require jquery_ujs
//= require jquery-ui/draggable
//= require jquery-ui/sortable
//= require jquery-ui/autocomplete
//= require bootstrap
//= require carousel.js
//= require hover.js
//= require menu_js/modernizr.js
//= require menu_js/dlmenu.js
//= require custom.js
//= require bootstrap-tabs.js
//= require jquery.raty.js
//= require letsrate.js
//= require rails-timeago
//= require tinymce-jquery
//= require scrollTo.js
//= require clips.js
//= require jquery.sticky.js
//= require jquery-ui.min.js
//= require jquery.dynatable.js
//= require playlist.js
//= require index.js.coffee

custom.js

/**
 * Constructor patch for jQuery UI DatePicker
 * Automatically initializes the input with the value from the altField
 */
 (function($) {
   var _datepicker = jQuery.fn.datepicker;

   $.fn.datepicker = function(options) {
    var $date = _datepicker.apply(this, arguments);

    if (options.altFormat && options.altField) {
      var altValue = $(options.altField).val();
      var value = $.datepicker.parseDate(options.altFormat, altValue);
      var dateFormat = _datepicker.call(this, 'option', 'dateFormat');
      $(this).val($.datepicker.formatDate(dateFormat, value));
    }
  };
})(jQuery);

var $date = $("#search_start_date");

$date.datepicker({
  dateFormat: "yy-mm-dd",
  altFormat: "yymmdd"
});

var $end_date = $('#search_end_date');

$end_date.datepicker({
  dateFormat: "yy-mm-dd",
  altFormat: "yymmdd"
});



});

index.html.erb

<%= form_for Search.new, url: statistics_search_saas_admin_statistics_path, html: {method: :get, remote: true} do |f| %>
<table id="table_1" class="table" style="margin-bottom: 5px;">
  <tr>
    <th style="color: black; background: white; border-color: white;">Studio</th>
    <th style="color: black; background: white; border-color: white;">Film</th>
    <th style="color: black; background: white; border-color: white;">Clip</th>
    <th style="color: black; background: white; border-color: white;"></th>
    <th style="color: black; background: white; border-color: white;"></th>
  </tr>
  <tr>
  <td>
    <select multiple id="studio_select" style="height: 150px;">
      <% Studio.all.each do |studio| -%>
      <option value="<%=studio.id %>"><%= studio.name %></option>
      <% end -%>
    </select>
    <%= hidden_field_tag :studio_ids %>
  </td>
  <td>
    <select multiple id="film_select" style="height: 150px;"></select>
    <%= hidden_field_tag :film_ids %>
  </td>
  <td>
    <select multiple id="clip_select" name="search[clip]" style="height: 150px;"></select>
    <%= hidden_field_tag :clip_ids %>
  </td>
</table>

<div class="span10">
<table class="table">
  <tr>
    <th>Beginning Date</th>
    <th>End Date</th>
    <th></th>
  </tr>
  <tr>
    <td><%= f.text_field :start_date, value: 1.month.ago.strftime('%Y-%m-%d')  %></td>
    <td><%= f.text_field :end_date, value: Time.now.strftime('%Y-%m-%d') %></td>
    <td>
      <%= f.submit "Filter", class: "btn btn-danger", data: {disable_with: 'Searching...'} %>
      <%= link_to 'Clear Form', '#', id: "clear", class: 'btn btn-default'  %>
    </td>
  </tr>
</table>
</div>
<% end -%>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant